如何在mysql的json列中存储特殊字符
Posted
技术标签:
【中文标题】如何在mysql的json列中存储特殊字符【英文标题】:how to store special characters in json column in mysql 【发布时间】:2020-08-10 00:07:37 【问题描述】:我正在尝试在表格的 json 列中保存一些特殊字符。但这实际上不起作用 这就是它的存储方式
"district":"\u099a\u09be\u0981\u09a6\u09aa\u09c1\u09b0",
"sub_district":"\u099a\u09be\u0981\u09a6\u09aa\u09c1\u09b0"
我将输入值存储如下..我正在使用 laravel
present = array('district'=>$request->district,'sub_district'=>$request->sub_districtce);
$card->present_address = json_encode($present);
在该 json 对象中搜索字符串时,我正在使用下面的查询
$allowances = Card::SELECT('id','name','nid','village')
->where(DB::raw("json_extract((present_address), '$.district')"), চাদপুর)
->get();
任何人都可以帮助我解决这种情况,我可以在该 json 对象中存储特殊字符/unicode。?
【问题讨论】:
告诉我们$request->district
和$request->sub_districtce
的值
请分享它在存储之前的外观
它必须是以下商店 'district' => 'চাঁদপুর', 'sub_district' => 'চাঁদপুর',
【参考方案1】:
这是完全正常的。只要你做json_decode()
,你就会得到你的期望值:
array (
'district' => 'চাঁদপুর',
'sub_district' => 'চাঁদপুর',
)
【讨论】:
如果我想在该特定列中执行查询怎么办? 如果要执行查询,则需要将它们存储在自己的列中 hey hubert... ->where(DB::raw("json_extract((present_address), '$.ward_no')"), 28) 这是我查询的 where 条件当我没有特殊字符时工作正常......正如你所说的使用 json_decode......我应该如何在我的情况下使用它。? 您能否更新您的问题以包含您希望我查看的代码? 看看休伯特以上是关于如何在mysql的json列中存储特殊字符的主要内容,如果未能解决你的问题,请参考以下文章