MYSQL: - 如何区分é©和é法国字符

时间:2016-08-08 12:57:00

标签: mysql

我的Mysql数据库表记录中有'é'和'é'字符,只想转换像(©(UTF-8)

这样的法语字符

使用以下查询查找所有法语字符。

SELECT * 
  FROM <table> 
 where cid=2 
   And ((field01 LIKE binary'%Ã%') 
        OR 
        (field02 LIKE binary'%Ã%') 
        OR 
        (field03 LIKE binary'%Ã%')
       )

低于OutPut: -

+---------+------------------------------------+---------+
| field01 | field02                            | field03 |
+---------+------------------------------------+---------+
| NULL    | Namé                               | NULL    |
| NULL    | L2Çais                            | NULL    |
| NULL    | L1ÙÛÜŸÀÂÆÇÉÈÊËÃÎÔŒ  | NULL    |
+---------+------------------------------------+---------+

但是我不希望第一行带有(é),而我的select语句应该只显示最后两行,带有UTF-8法语字符。

任何帮助我如何找到UTF-8

中的法语字符
(é|Ç|Ù|Û|Ü|ø|À|Â|Æ|Ç|É|È|Ê|Ë|Î|Ô|Ò)

编辑 - 列类型和字符集:

 | Field   | Type         | Collation       | 
 | field01 | varchar(320) | utf8_unicode_ci | 
 | field02 | varchar(128) | utf8_unicode_ci | 
 | field03 | varchar(128) | utf8_unicode_ci | 

由于

2 个答案:

答案 0 :(得分:0)

您的命令对我有用,所以问题似乎是查询中的Ã未编码为UTF-8。

如果您的查询中的Ã正在编码,例如作为ISO 8859-1字符,它将只变为x'C3',它将匹配é(UTF-8中的x'C3A9')和Ãx'C383' in UTF-8)因为它们都有字节x'C3'

尝试使用

SET NAMES 'utf8';

在您建立连接的命令之前使用UTF-8编码,并确保从您正在使用的任何客户端发送SQL命令为UTF-8字符串。

答案 1 :(得分:0)

尝试低于转换而没有获得第一行(é)并且只获得了最后两行的UTF-8法语字符。

(CONVERT(bINARY CONVERT(field01使用latin1)使用utf8))

这对我有用。

由于 Ashish Chillure