Resolvendo problemas de caracteres acentuados no MySQL

Antes de importar os dados para a sua base MySQL, defina um collation padrão. No Brasil o Latin1 é o mais utilizado, então o CHARSET (codificação de caracteres) padrão na Maxrevenda é o Latin1 e o COLLATE (collation) padrão é o latin1_general_ci. Scripts externos podem utilizar UTF8 e geralmente é por causa da diferença de codificação entre Latin1 e UTF8 que ocorrem erros de acentuação.
A seguir estão alguns exemplos para definir um collation padrão para a sua base de dados:

ALTER DATABASE `sua_base` CHARSET = Latin1 COLLATE = latin1_swedish_ci;

ou

 ALTER DATABASE `sua_base` CHARSET = UTF8 COLLATE = utf8_general_ci;

CHARSET e COLLATE são coisas distintas, no MySQL, cada CHARSET possui COLLATEs, cada um com sua particularidade. O intuito deste Wiki não é explicar as características de cada um deles, pois pode ser visto da documentação do MySQL, mas daremos um pequeno descritivo entre latin1_general_ci, latin1_general_cs e latin1_swedish_ci.

  • latin1_general_ci: Não há distinção entre letras maiúsculas e minúsculas. Buscando por “teste”, registros como “Teste” ou “TESTE” serão retornados.
  • latin1_general_cs: Distingue letras maiúsculas e minúsculas. Buscando por “teste” somente retornará “teste”. Opções como “Teste” e “TESTE” não serão retornadas.
  • latin1_swedish_ci: Não distingue letras minúsculas e maiúsculas e nem caracteres acentuados e com cedilha, ou seja, o registro que contém a palavra “Intuição” será retornado quando houver uma procura pela palavra “intúicao”.

Quando você estiver exportando os dados da sua base de dados de origem, certifique-se de estar especificando a codificação corretamente. No phpMyAdmin há um menu DropDown próximo às opções de compactação ‘nenhum’, ‘zip’, ‘gzip’ e ‘bzip’ que normalmente está selecionada a opção ‘utf-8’. Mantenha este se sua base estiver com este CHARSET, do contrário, especifique ‘iso-8859-1’ caso ela esteja com o CHARSET Latin1.Faça o mesmo durante a importação. Ao enviar o arquivo, o menu DropDown estará como ‘utf-8’, se o CHARSET da base for ‘Latin1’ escolha o ‘iso-8859-1’.

Hasznosnak találta ezt a választ?

 Kinyomtatja ezt a cikket

Ezenkívül olvassa el

Criando banco de dados MySQL no Cpanel

Introdução O cPanel é um dos gerenciadores de domínios mais usados do mercado. Este foi o...

Como efetuar um Backup do banco MySQL via phpMyAdmin

- Acesse a Administração do phpMyAdmin, e clique sobre nome da base, localizado no menu à...

Powered by WHMCompleteSolution