Erro na codificação de caracteres

Suporte à dúvidas gerais relacionadas ao phpBB.
AlvoErrado2
Novato
Novato
Mensagens: 30
Registrado em: 10 Mai 2012, 15:34

Erro na codificação de caracteres

Mensagem por AlvoErrado2 » 23 Ago 2017, 18:18

Eu tinha uma instalação num serviço de hospedagem, esse serviço foi cancelado e feito backup da base de dados via painel desse serviço, depois de alguns dias assinei um novo serviço, o backup anterior era na versão 3.1, esse novo foi feito upgrade para a 3.2, fiz um teste localmente e alguns caracteres não são reconhecidos corretamente, enquanto outros são, alguns exemplos do que está ocorrendo.

Código: Selecionar todos

Assuntos relacionados à Administração
Multi-Áudio
Aqui poderão expor vossas dúvidas
Mangás
Imagem

A princípio suspeitei que fosse algo similar a isso:

https://www.phpbb.com/community/viewtop ... 0377ce37c5

Mas não tenho acesso SSH na nova hospedagem, tentei esses comandos e não obtive sucesso em resolver o problema, alguém teria uma sugestão melhor?

A minha tabela está atualmente codificada assim: Imagem

Primeira vez que me acontece isso ao migrar de um serviço para outro.

Avatar do usuário
_Vinny_
Administrador
Administrador
Mensagens: 5722
Registrado em: 03 Set 2009, 21:59
Nome Real: Marcus Vinicius
Localização: Macapá, AP - Brasil
Contact:

Re: Erro na codificação de caracteres

Mensagem por _Vinny_ » 24 Ago 2017, 06:03

Ou o backup ou a restauração ou mesmo ambos foram feitos em outra codificação, você pode fazer alteração no phpmyadmin caso tenha acesso, não somente SSH.

AlvoErrado2
Novato
Novato
Mensagens: 30
Registrado em: 10 Mai 2012, 15:34

Re: Erro na codificação de caracteres

Mensagem por AlvoErrado2 » 24 Ago 2017, 12:07

_Vinny_ escreveu:
24 Ago 2017, 06:03
Ou o backup ou a restauração ou mesmo ambos foram feitos em outra codificação, você pode fazer alteração no phpmyadmin caso tenha acesso, não somente SSH.
Eu alterei a codificação da base de dados, das tabelas e das colunas problemáticas e mesmo assim continuou da mesma forma, só não tentei alterar a codificação e depois, exportar a mesma e depois importar novamente.

Eu rodei alguns comandos, como esses abaixo:

ALTER DATABASE <table_name> CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

ALTER TABLE <table_name> CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

ALTER TABLE <table_name> MODIFY <column_name> VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

É claro substituindo pelos respectivos nomes referente a minha base de dados, e mesmo assim os caracteres na base de dados ainda apresentavam caracteres estranhos.

Avatar do usuário
_Vinny_
Administrador
Administrador
Mensagens: 5722
Registrado em: 03 Set 2009, 21:59
Nome Real: Marcus Vinicius
Localização: Macapá, AP - Brasil
Contact:

Re: Erro na codificação de caracteres

Mensagem por _Vinny_ » 25 Ago 2017, 02:12

Se tentou de tudo, ao que parece a codificação do backup que foi alterada.

Avatar do usuário
Leinad4Mind
Novato
Novato
Mensagens: 28
Registrado em: 07 Fev 2012, 11:29

Re: Erro na codificação de caracteres

Mensagem por Leinad4Mind » 23 Set 2017, 13:48

Para corrigir este problema, transferi a base de dados, converti para ANSI e depois codificar em utf8.
Neste caso em específico como o fórum foi usado em 2 codificações, corrigir uma ia causar problemas noutros tópicos/mensagens. Portanto tive que depois criar e executar um script que basicamente fez um search and replace de todos os códigos possíveis e corrigiu os caracteres,

Só assim consegui corrigir completamente a base de dados que tinha tido 2 codificações ao longo do tempo.

Fica a dica para quem sofrer do mesmo problema no futuro.

Cumprimentos

Responder