【发布时间】:2018-01-01 20:06:28
【问题描述】:
我有一个 latin1_swedish_ci 数据库,其中包含 UTF-8 字节字符,显示为 %C5%A1, %C4%8D,...
我已经将数据库和表从 latin1 转换为 utf8,但我仍然需要修复 UTF-8 字节字符。
ALTER DATABASE databasename CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MySQL 默认字符集:
SHOW VARIABLES LIKE 'char%'
character_set_client utf8mb4
character_set_connection utf8mb4
character_set_database utf8mb4
character_set_filesystem binary
character_set_results utf8mb4
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
我尝试了 MySQL 功能但没有成功:
convert(cast(convert(name using latin1) as binary) using utf8)
我真的需要帮助!谢谢。
【问题讨论】:
-
它们只是这样显示,还是它们实际上与这些转义序列一起存储(即包含实际的百分号)?
-
嗨,lenz,它们实际上包含百分比(单词示例:pisarni%C5%A1ka),实际单词应该是 (pisarniska) - 带有 CARON 的拉丁文小写字母 S。
-
或者
pisarniška