javascript - 当页面包含阿拉伯数据时 json_encode 返回 false

标签 javascript php ajax codeigniter

我正在使用ajax函数从数据库获取数据并替换div。数据是从 Controller 获取的,页面是从 Controller 创建的,但是当我使用PHP json_encode时,它返回false。

然后我使用了以下代码:

    $data=utf8_encode($this->load->view('site' . $_SESSION['language'] . '/property_data', $data, TRUE));

    json_encode($data);

编码后我得到这样的输出,

enter image description here

这里编码工作正常,但是当我使用 JavaScript 解码时,它不起作用(阿拉伯语内容无法正确显示)。

最佳答案

首先,您需要使用 utf-8 设置数据库的字符集,如果您使用 mysql,请使用:

mysql_query("SET NAMES 'utf8'");

然后在 json_encode 中使用:

json_encode($result, JSON_UNESCAPED_UNICODE);

希望对你有帮助

关于javascript - 当页面包含阿拉伯数据时 json_encode 返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55627681/

相关文章:

javascript - php/javascript 关于值的问题

加载表结构时phpmyadmin错误200

javascript - 如何解析事件的文本(即今晚 8 点见我)?

javascript - 是否可以使用Ajax下载图像

javascript - phonegap 中的 json 数组到 javascript

javascript - DataTable 1.10 - 禁用某些列的行选择事件

javascript - If-else 语句的短路

javascript - 为什么input的属性值=text,而li的属性值=number?

javascript - Ajax 正在提交文本,但无法提交 HTML 数据

java - 使用 html 更改 XML 值