Mysql do not use UTF-8



我像往常一样创建数据库:

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,或下面的部分将有所帮助。

最新更新