我像往常一样创建数据库:
CREATE DATABASE my_db CHARACTER SET utf8 COLLATE utf8_general_ci;
我已经转储了states.sql,这看起来很好,但当我将它们转储到数据库时,我看到了奇怪的符号和字母,其中应该是POLSH图表。
当我尝试从一些答案中添加时:
default-character-set=utf8
character-set-server=utf8
default-collation=utf8_unicode_ci
到my.cf-mysql不想重新启动。
我也可以说,当我在phpmyadmin中这样做时,例如:
SELECT * FROM 'states' WHERE name = 'gorzów'
我从mysql语法中得到了非utf-8符号的错误。
哪里会有问题?
gorzów
变成gorzów
了吗?那就是莫吉贝克。
这是的经典案例
- 客户端中的字节以utf8正确编码(良好)
- 您连接了
SET NAMES latin1
(或set_charset('latin1')
或…),可能是默认情况。(应该是utf8
。) - 表中的列可能是
CHARACTER SET utf8
,也可能不是,但应该是
由于您没有说明您正在使用什么客户端,也没有说明您用于连接的语法,所以我再具体不过了。可能http://mysql.rjweb.org/doc.php/charcoll#python,或下面的部分将有所帮助。