(对不起我的英语不好,我是法国人)
我在一个 MySQL 数据库上工作,该数据库被配置为在 MySQL 指定的所有级别上使用 UTF-8 / utf8_general-ci:服务器、数据库、表和列。
当我通过 PHP 写入或读取数据时,它完美地工作。我所有的数据都使用 UTF-8。
我的问题 :
如果我尝试使用mysql程序、phpMyAdmin界面或使用mysqldump导出这些数据,所有字符串都会出现奇怪的重音符号,如“ç”(它是 UTF-8 读取,如 ISO-8859-1)。
我尝试设置和配置所有与 MySQL 字符集相关的变量以使用 UTF-8,但没有任何改变:
mysql> SHOW VARIABLES LIKE "character\_set\_%"; +--------------+------+ | 变量名 | 价值 | +--------------+------+ | character_set_client | utf8 | | 字符集连接 | utf8 | | 字符集数据库 | utf8 | | 字符集文件系统 | utf8 | | 字符集结果 | utf8 | | character_set_server | utf8 | | 字符集系统 | utf8 | +--------------+------+ 一组 7 行(0.00 秒)
我还尝试(在将所有变量设置为 UTF-8 之后)用 MySQL 本身插入一个新行。MySQL 读取这一新行没有问题(口音很好),但如果我用我的 PHP 程序读取这些行,它似乎在 ISO-8859-1 中,因此以 UTF-8 显示失败。
我阅读了所有关于字符集和排序规则的 MySQL 文档,但我没有找到关于这个问题的解释或答案。
那么,有人可以帮助我理解为什么 MySQL 程序似乎不关心字符集以及如何修复它?