我试图用Eloquent构建一个查询,输入有UTF-8字符。查询的相关部分是和data
,如'%comuna":VALPARAÍSO" %',数据库中存储的字符串是**,“comuna”:“VALPARA\u00cdSO”,。没有结果。
我尝试使用json_encode($query)来实现,它会生成和data
,如'%comuna":\“VALPARA\u00cdSO" %'**,但同样没有成功。
如果查询没有特殊字符,则按预期工作。
从这里编辑
查询类似于:
$query = '"comuna":"VALPARAÍSO"';
$invoice = Invoice::where('data', 'like', '%'.$query.'%')->get();
生成的原始查询是
select * from `invoices` where `data` like '%\"comuna\":\"VALPARAÍSO\"%' and `invoices`.`deleted_at` is null
要匹配的列包含以下内容:
(...) itas","comuna":"VALPARA\u00cdSO","fon (...)
我应该如何编码查询以匹配列内容?
1条答案
按热度按时间nle07wnf1#
我终于能够解决它。
代码如下所示:
并且生成的查询导致:
我认为诀窍是双重转义unicode字符。
谢谢你的回答。