【发布时间】:2014-01-22 08:05:41
【问题描述】:
数据显示正确,但在搜索时却找不到任何东西。这就是数据以 UTF8 编码存储在表中的方式。
Default charset: utf8mb4
names: utf8
character_set_client : utf8
SELECT * FROM article WHERE description like '%några%' //returns null but it should return one row
SELECT * FROM article WHERE description like '%nå%' //works
SELECT * FROM article WHERE description like '%någ%' //returns null
我认为mysql将å转换为a。
我尝试使用 php 函数 utf8_encode($str) 将搜索查询转换为 utf8。但这里没有成功。 我该如何解决这个问题?
【问题讨论】:
-
您是否也尝试过检查其他功能,例如instr(description,'%några%') > 0
-
现在试过了。没有成功。但是,如果我搜索 %nÃ¥gra%
-
UTF-8 all the way through 的可能重复项
-
“nÃ¥gra”存储在数据库中和“några”显然不是同一个词。插入数据库时遇到编码问题,将数据存储为垃圾。
-
@Error404 它被 UTF8 误解为其他东西,可能是 Latin1。