使用存储在数据库表中的瑞典语和挪威语字符串时,在查询数据时可能会遇到表格式问题使用不同的字符集。
默认情况下,使用“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-”启动 MySQL 客户端character-set=utf8”选项:
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:
SHOW VARIABLES LIKE '%CHAR%'; SET character-set-server = utf8;
此外,检查是否有任何可能使用 latin1 连接编写的 Unicode 字符。要解决此问题,请使用与写入值相同的字符集连接到数据库,或者使用正确的编码检索并重写它们。
注意:MySQL 的 utf8 编码不是完整的 Unicode执行。考虑使用 utf8mb4 字符集来实现真正的 UTF-8 实现:
mysql --default-character-set=utf8mb4
以上是如何使用 UTF8 字符编码保留 MySQL 中的表格式?的详细内容。更多信息请关注PHP中文网其他相关文章!