Select with Utf-8 in MySQL return 错误的结果
Select with Utf-8 in MySQL return wrong results
当我执行这个查询时:
SELECT * FROM `PageMapLine` WHERE name = "không"
结果包括意外记录,如 "Khổng" 和 "Khong":
id name pageID stem lemma
--------------------------------------
236040 Khổng 236040 NULL NULL
494405 Không 494405 NULL NULL
796340 Khong 796340 NULL NULL
--------------------------------------
通过table编码为utf8_general_ci。
这是因为您的 ci(不区分大小写)编码。我会改用 utf8_bin 。记得先备份。
不区分大小写也对那些特殊ci字符不敏感。
当我执行这个查询时:
SELECT * FROM `PageMapLine` WHERE name = "không"
结果包括意外记录,如 "Khổng" 和 "Khong":
id name pageID stem lemma
--------------------------------------
236040 Khổng 236040 NULL NULL
494405 Không 494405 NULL NULL
796340 Khong 796340 NULL NULL
--------------------------------------
通过table编码为utf8_general_ci。
这是因为您的 ci(不区分大小写)编码。我会改用 utf8_bin 。记得先备份。
不区分大小写也对那些特殊ci字符不敏感。