Htmlspecialchar在运行查询时输出


Htmlspecialchars output when running a query

我正在使用以下查询创建一个页面数组:

$pages = Page::orderBy('sorting')->get()->toArray();

当我json_encode输出时,当其中一个页面标题中有引号时,输出就会损坏。我该如何防止这种情况发生?

如果您想返回json,您应该使用:

$pages = Page::orderBy('sorting')->get()->toArray();
return response()->json(['pages' => $pages]);

它应该不会产生任何问题。如果你有,请展示它们是什么。

只有当我的数据库连接不是UTF并且有一些字符时,我才会遇到json的问题。由于json_encode需要UTF-8格式的数据,这可能会导致问题

Laravel确实返回了一个正确的JSON。javascript似乎需要以一种奇怪的风格调用对象,对象需要放在单引号中:UINestable.init('{ $json) !!}')。因此,当JSON中有一个引号时,它就会出错。Thanx通过