如何在MySQL`WHEREERE子句中处理变音符号?

时间:2012-06-19 12:22:26

标签: mysql unicode

我的表格排名为utf8_general_ci,字符集为utf8。如果我运行如下的查询,它不会向我显示任何值。

SELECT * FROM mytable WHERE myfield = "Björn Borg"
OR myfield = "FrüFrü & Tigerlily";

那我怎样才能从表中获取值?

2 个答案:

答案 0 :(得分:1)

问题可能出在你的连接字符集中。尝试运行

SET NAMES 'utf8'

然后是你的查询。

答案 1 :(得分:0)

MySQL有更多地方定义字符集,包括列级别。

检查数据库设置: SHOW VARIABLES喜欢'char%'; SHOW VARIABLES LIKE'collat​​ion%';

检查表设置:SHOW CREATE TABLE tablename;

检查各列:在表名中显示完整列;

如果您使用错误的编码创建了一个数据库,则必须在所有这些中更改每个错误字符集的出现。