简体   繁体   English

在MySQL中用Utf-8选择返回错误结果

[英]Select with Utf-8 in MySQL return wrong results

When I excute this query: 当我执行此查询时:

SELECT * FROM `PageMapLine` WHERE name = "không" 

The result include unexpected records like "Khổng" and "Khong": 结果包括意外记录,例如“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
--------------------------------------

My table encoding was utf8_general_ci. 我的表编码是utf8_general_ci。

It is because of your ci (case insensitive) codification. 这是因为您的ci(不区分大小写)编码。 I would use utf8_bin instead. 我会改用utf8_bin。 Remember to backup first. 请记住先备份。

Case insensitive is also insensitive to those special characters. 不区分大小写对那些特殊字符也不敏感。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM