我在MySQL表中有一行“ö”。整个词是“företag”。
如何在SQL查询中选择该单词?
我尝试过företag,但它没有用。该表使用的是utf8。
答案 0 :(得分:2)
您可以使用:
SELECT * FROM table WHERE field LIKE 'f_retag';
('_'是LIKE语句的单字符通配符)
如果您使用的是终端,请确保终端使用的是UTF-8。尝试:
echo $LANG
在启动mysql命令时也尝试强制字符集:
mysql --default-character-set=utf-8
否则,请详细说明您用于访问数据库的语言和环境。
答案 1 :(得分:2)
您还可以在运行select之前尝试运行以下查询:
SET CHARACTER SET utf8;
刚刚在我的本地MySQL上测试过它(该表是用UTF8 charset创建的):
mysql> select * from xxx where s='företag';
+----------+
| s |
+----------+
| företag |
+----------+
1 row in set (0.00 sec)
答案 2 :(得分:1)
试试这个
declare @tbl table(name varchar(50))
insert into @tbl select 'företag' union all select 'foretag'
SELECT * FROM @tbl WHERE name = 'företag';
SELECT * FROM @tbl WHERE name like '%ö%';
答案 3 :(得分:0)
在Unicode中编写重音字符的方法不止一种。例如,“Ä”也可以写为“A \ u0308”。相关的Unicode文档是"Unicode Normalization Forms",但这并不容易阅读。