Pergunta

Sinais diacríticos http://img98.imageshack.us/img98/3383/dijakritickiznakovi.gif

Portanto, o título de exibição dos símbolos deve ser exibido dessa maneira.
As entidades UTF-8 estão listadas abaixo do título HTML (UTF-8) (aqui está a lista: LINK)
E a última linha mostra o que é armazenado no meu banco de dados.
Agrupamento da tabela de banco de dados é utf8_unicode_ci.
Suponho que os símbolos no banco de dados não deveriam ser como estão no meu caso? Eles estão exibindo corretamente na página quando carregados no banco de dados, mas todos eles não são exibidos pela tabela UTF-8 do link fornecido. Mesmo se eu os vir corretamente, talvez alguém outro não?

Foi útil?

Solução

Definir o charset de tabela MySQL não é suficiente - você também deve tomar cuidado para definir o charset correto para o cliente, a conexão e os resultados, que os padrões podem diferir de servidor para servidor, tornando seu banco de dados menos que portátil: o mesmo conteúdo do banco de dados pode ser exibido de maneira diferente para outro servidor.

Eu tenho armazenado texto esloveno no MySQL há algum tempo e é isso que funciona para mim:

  • A primeira coisa que você faz depois de conectar deve ser emitir um "Definir nomes utf8" consulta
  • Certifique-se de que as cordas que você está armazenando sejam UTF-8 para começar: se você estiver tirando de um formulário de página da web, verifique se a página está UTF-8
  • Tenha cuidado com quais ferramentas você usa para navegar/editar o conteúdo do banco de dados on -line: o phpmysqladmin é definitivamente inseguro.

Espero que isto ajude.

Outras dicas

Você parece estar tentando armazenar strings codificados por HTML em seu banco de dados. Não faça isso, ele apenas quebrará sua capacidade de fazer operações de cordas, como pesquisar de maneira confiável. Você poderá armazenar caracteres codificados RAW UTF-8 como bytes no seu banco de dados.

Você não diz qual ambiente está usando para ler o banco de dados ou como obtém a string 'incorreta' na parte inferior (que é o UTF-8 bytes lido usando a codificação ISO-8859-1). Se eles aparecerem em sua página da web (e você estará especificando o UTF-8 nos cabeçalhos e/ou <meta> tag), você presumivelmente praticamente lá.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top