MySQL数据库为什么在搜索时会以O形式返回

时间:2017-04-08 17:55:44

标签: mysql utf-8 collation

我的表格列中有多个特殊字符(Õ) 当我在搜索结果中搜索显示O的Õ时。

select * from table where column like '%Õ%'

我想用我的表中的单个问题替换Õ。 示例:保存如下

Õ只会成为导致阻力的因素之一

  

因此找出它是哪一个并专注于那一个。

1 个答案:

答案 0 :(得分:2)

如果您目前使用的是utf8:

mysql> SELECT REPLACE('O-o-Õ-Õ-x', 'Õ', '?') COLLATE utf8_bin;
+----------------------------------------------------+
| REPLACE('O-o-Õ-Õ-x', 'Õ', '?') COLLATE utf8_bin    |
+----------------------------------------------------+
| O-o-?-?-x                                          |
+----------------------------------------------------+

请注意它是如何仅替换Õ个字符的。

如果您使用的是utf8mb4,请更改为COLLATE utf8mb4_bin

注意 - 你的问题很不寻常。如果你忽略了问题的某些方面,这个解决方案可能弊大于利。