我的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 |
由于
答案 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