【问题标题】: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

【问题讨论】:

    标签: mysql


    【解决方案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
        

        但这也使它区分大小写。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-01-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多