选择行时的奇怪结果
Posted
技术标签:
【中文标题】选择行时的奇怪结果【英文标题】:Weird result at selecting rows 【发布时间】:2011-03-06 20:23:22 【问题描述】:我一直在琢磨为什么这个查询会返回这个结果:
SELECT direccion_principal
FROM tb_dysport_contacto_medico_terapeutica
WHERE direccion_principal LIKE '%Ú%'
结果:
+---------------------+
| direccion_principal |
+---------------------+
| COLSANITAS |
+---------------------+
表格排序规则是utf8_general_ci
。
【问题讨论】:
【参考方案1】:这部分查询:
LIKE '%Ú%'
正在尝试选择带有重音字符的结果。 utf8_general_ci 排序规则去除重音:What are the diffrences between utf8_general_ci and utf8_unicode_ci?
【讨论】:
【参考方案2】:在查询之前,指出客户端将使用什么字符集向服务器发送 SQL 语句:
SET NAMES 'utf8';
【讨论】:
【参考方案3】:SELECT direccion_principal
FROM tb_dysport_contacto_medico_terapeutica
WHERE direccion_principal LIKE '%Ú%' collate utf8_bin
但这也使它区分大小写。
【讨论】:
以上是关于选择行时的奇怪结果的主要内容,如果未能解决你的问题,请参考以下文章