我正在将字符串存储在Mysql数据库中。
有些字符串有单引号,然后按如下方式存储:
People’的
这是存储这些字符串的正确方法还是应该设置不同的mysql排序规则?
我没有运气就试过以下......
utf8_general_ci
latin1_swedish_ci
答案 0 :(得分:1)
您在哪里设置整理?你应该在三个地方使用UTF-8:
作为包含字符数据的每一行的排序规则。您可以为表或数据库设置默认排序规则,以便新列选择它,但如果您已有表,则更改其默认排序规则不会更改现有行的排序规则。
作为应用程序和MySQL之间连接的编码。这可以使用SET NAMES
语句手动设置,或者更好地使用适合您环境的API调用(例如PHP中的mysql_set_charset()
或charset
的{{1}}参数在Python MySQLdb中。
。例如,如果使用connect()
header / meta。
你可以将字符串“People's”存储为UTF-8-hidden-in-Latin-1“People's”,整个使用Latin-1,因为你仍然会得到你输入的字节数相同。但是这样你就不会从非ASCII字符的排序或不区分大小写的比较中获得明智的结果。