”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何使用 UTF8 字符编码保留 MySQL 中的表格式?

如何使用 UTF8 字符编码保留 MySQL 中的表格式?

发布于2024-11-06
浏览:515

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

使用 UTF8 字符编码增强 MySQL 命令行格式

使用存储在数据库表中的瑞典语和挪威语字符串时,查询数据时可能会遇到表格式问题使用不同的字符集。

问题陈述

默认情况下,使用“set names latin1;”产生失真的输出:

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

切换到“设置名称 utf8;”正确显示字符,但破坏表格格式:

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

解决方案

保存使用 UTF8 字符编码时的表格格式,您可以使用“--default-character-set=utf8”选项启动 MySQL 客户端:

mysql --default-character-set=utf8

您还可以在“/etc/mysql/my.cnf”文件中将其配置为默认设置:

[mysql]
default-character-set=utf8

这会将character_set_client、character_set_connection和character_set_results配置变量设置为utf8。

如果格式问题仍然存在,请确保数据库、表和列也已设置为utf8。使用以下命令设置为 utf8:

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

此外,检查可能已使用 latin1 连接写入的任何 Unicode 字符。要解决此问题,请使用与写入值相同的字符集连接到数据库,或者使用正确的编码检索并重写它们。

注意: MySQL 的 utf8 编码不是完整的 Unicode执行。考虑使用 utf8mb4 字符集来实现真正的 UTF-8 实现:

mysql --default-character-set=utf8mb4
最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3