Tenho os seguintes dados:Trollhättan
Se eu imprimir e configurar o cabeçalho como
utf-8
, essa será a saída no navegador.Se eu não estiver configurando
utf-8
no cabeçalho,Trollhättan
. No entanto, quando estou armazenando os dados no banco de dados e verificandophpmyadmin
, recebo a seguinte string: Trollhättan.Quando estou configurando o cabeçalho para
utf-8
, recebo esta string:Trollhättan
ao lado de thisTrollhättan
.
Já que a tabela é latin1_swedish_ci
, tenho que usar na tabela UTF-8
?
Você precisa ter certeza de que, ao "armazenar os dados no banco de dados", o cliente que você usa está usando utf8. Em seguida, definir o cabeçalho http como utf8 completa a ida e volta.
A surpresa é que não importa muito qual conjunto de caracteres é usado no banco de dados (embora possa ser conveniente que seja utf8 também).
Aqui está a lista de agrupamentos em UTF-8
latin1_swedish_ci
pertence a latin1O utf8 mais próximo para o seu agrupamento é ID 200
EMBARGO
Você pode ter que experimentar latin1, alterar o conjunto de caracteres e o agrupamento da coluna individual na tabela ou possivelmente ambos. No mínimo, use latin1 para exibição no phpmyadmin.
Você pode ajustar e experimentar fazer de todo o banco de dados um conjunto de caracteres e agrupamento específicos usando ALTER DATABASE .
Certifique-se de fazer um backup do banco de dados e carregá-lo em um banco de dados dev/staging e, em seguida, execute ALTER DATABASE contra dev/staging.