在mysql中搜索重音字符

时间:2009-09-04 18:35:18

标签: mysql search diacritics

我需要在mysql表中找到éouè的出现。

首先尝试:     选择“LéL”,如“%é%”; 这不起作用:它返回包含e或é或è。

的单词

我也试过没有结果的正则表达式(使用字母L):

SELECT "Lbc" REGEXP ".*L.*";  -- works : it finds L in the string LBC

SELECT "Lbc" REGEXP ".*\u4C.*"; -- doesn't work : can't find the hexadecimal equivalent of L in the string LBC.

我想测试\ u加十六进制搜索...我也尝试过在文档中提到的双重转义而不做任何更改。

正则表达式搜索在mysql中似乎非常有限。在http://dev.mysql.com/doc/refman/4.1/en/regexp.html上找不到与\ u相关的任何文档。

我正在使用mysql 4.1。

如果mysql 5中有一个4中不存在的解决方案,我想了解它。

1 个答案:

答案 0 :(得分:1)

SELECT 'LéL' LIKE '%é%' COLLATE utf8_bin;
/* latin1_bin if your data is in latin1, etc. */
1

SELECT 'LéL' LIKE '%e%' COLLATE utf8_bin;
0

请参阅http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html#operator_likehttp://dev.mysql.com/doc/refman/5.0/en/charset-binary-collations.html

在MySQL 5.1中测试的

也应该在4.1中工作。