【发布时间】:2014-02-05 13:18:40
【问题描述】:
我有一个大问题。
我的数据库列如下所示:
{"79":"novej nazev ","53":"","54":"0","55":"0","56":"\u0159\u0159\u0159\u0159\u0159","57":"","58":"","59":"","60":"","61":"","62":"","63":"","64":"","65":"","66":"","67":"","68":["",""],"69":"0","70":["",""],"71":["",""],"72":["",""]}
有数组和json_encode(array)
所以现在我想在数据库中搜索一些带有变音符号的单词,但 json_encode 将变音符号转换为 (\u0159\u0159\u0159\u0159\u0159)
好的,没问题,我将搜索词转换为$search_word=json_endoce(SEARCH WORD);。
现在我将按脚本搜索:
data LIKE '%$search_word%' 但什么都不会,所以不会得到 forim 数据库
那么我哪里做错了?
【问题讨论】:
-
检查您的数据库使用的默认编码,您可能需要将其设置为 utf-8。
-
我的数据库是 utf-8 .. 我尝试只搜索 "\u0159" 并且它是这样做的,但是当我搜索 "\u0159\u0159\u0159\u0159\u0159" 所以不工作为什么?
-
你能提供整个查询吗?
-
我使用了 NetteFramework (www.nette.org) 但查询是 $ot=json_encode($hodnoty['slovo']); $zakazky=$this->database->table('others')->where(data LIKE ?','%'.$ot.'%')
-
你是否避开了反斜杠?试试
\\u0159\\u0159\\u0159\\u0159\\u0159因为SELECT '\u0159\u0159\u0159\u0159\u0159'变成了u0159u0159u0159u0159u0159
标签: php sql database json sql-like