我有一个非常奇怪的问题,完全没有意义。
基本上我有一个mysql数据库(wordpress数据库),它保存wordpress post内容。
我需要使用这个数据库并创建一个json文件,我可以使用下面的代码轻松地做到这一点。
然而 post_content
数据库中的列包含一些奇怪的空白/空格,这些空格会导致我的json中断并显示 null
.
破坏json代码的内容示例如下:
<p style="text-align: left;">Techno</p>
3.0 <a href="http://www.my-website.com/wp-content/uploads/2015/08/techno.doc">Techno</a>
3.2 <a href="http://www.my-website.com/wp-content/uploads/2015/08/techno.doc">Techno</a>
重要提示:请不要复制/粘贴上面的内容,如果你想测试它,因为出于某种原因stackoverflow修复了任何问题的内容。我上传了一个.txt文件到这里:https://ufile.io/hyecu
奇怪的是,我不知道为什么当我手动删除空白/空白空间,然后手动重新放置它们时,我的JSON工作得很好!!
这是创建json的php文件:
header('Content-type: application/json');
$sql="SELECT * FROM wp_posts WHERE post_status = 'inherit' AND post_title = '$get'";
//$query = mysqli_query ($db_conx, "SET NAMES 'utf8'");
$query = mysqli_query($db_conx, $sql);
$existCount = mysqli_num_rows($query);
$return_arr = array();
while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){
$row_array['ID'] = $row['ID'];
$row_array['post_title'] = $row['post_title'];
$row_array['post_content'] = $row['post_content'];
array_push($return_arr,$row_array);
}
echo json_encode($return_arr);
这是这一页的输出:
[{"ID":"31","post_title":"test","post_content":null}]
有人能就这个问题提出建议吗?
提前谢谢。
2条答案
按热度按时间gj3fmq9x1#
好吧,我试过这个代码,效果很好:
此代码将转换
post_content
至UTF-8
.ktca8awb2#
所以,经过一点测试,我可以复制你的问题。试试这个:
现在,如果您不能使用结果,至少您知道其中实际包含哪些字符,您可以编写某种str\u replace()或regex来处理它。