"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como preservar a formatação da tabela no MySQL com codificação de caracteres UTF8?

Como preservar a formatação da tabela no MySQL com codificação de caracteres UTF8?

Publicado em 2024-11-06
Navegar:483

How to Preserve Table Formatting in MySQL with UTF8 Character Encoding?

Aprimorando a formatação de linha de comando do MySQL com codificação de caracteres UTF8

Ao trabalhar com strings suecas e norueguesas armazenadas em uma tabela de banco de dados, você pode encontrar problemas com a formatação de tabelas ao consultar dados usando conjuntos de caracteres diferentes.

Declaração do problema

Por padrão, usando "nomes de conjunto latin1;" produz saída distorcida:

 ----------------------------------- 
| name                              |
 ----------------------------------- 
| Kid Interi#####                   | 
| Bwg Homes                         | 
| If Skadef####kring                | 
| Jangaard Export                   | 
| Nordisk Film                      | 
 ----------------------------------- 

Mudando para "definir nomes utf8;" exibe os caracteres corretamente, mas atrapalha a formatação tabular:

 ----------------------------------- 
| name                              |
 ----------------------------------- 
| Kid Interiør                     | 
| Bwg Homes                         | 
| If Skadeförsäkring              | 
| Jangaard Export                   | 
| Nordisk Film                      | 
 ----------------------------------- 

Solução

Para preservar formatação tabular ao usar a codificação de caracteres UTF8, você pode iniciar o cliente MySQL com a opção "--default-character-set=utf8":

mysql --default-character-set=utf8

Você também pode definir isso como configuração padrão no arquivo "/etc/mysql/my.cnf":

[mysql]
default-character-set=utf8

Isso define as variáveis ​​de configuração character_set_client, character_set_connection e character_set_results como utf8.

Se o problema de formatação persistir, certifique-se de que o banco de dados, as tabelas e as colunas também sejam defina como utf8 usando os seguintes comandos:

SHOW VARIABLES LIKE '%CHAR%';
SET character-set-server = utf8;

Além disso, verifique se há caracteres Unicode que possam ter sido escritos com uma conexão latin1. Para resolver isso, conecte-se ao banco de dados com o mesmo conjunto de caracteres em que os valores foram gravados ou recupere-os e reescreva-os usando a codificação correta.

Nota: A codificação utf8 do MySQL não é um Unicode completo implementação. Considere usar o conjunto de caracteres utf8mb4 para uma implementação UTF-8 verdadeira:

mysql --default-character-set=utf8mb4
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3