php - 在 PHP 中以区域语言返回 JSON 数据
问题描述
我正在使用 MYSQL 数据库,其中我将数据存储在排序规则中:utf16le_general_ci。我这样做是为了在数据库中支持我的区域语言,并且我能够成功地以我的区域语言(GUJARATI)存储数据。
但是当我使用 PHP(版本 7+)读取数据并以 JSON 格式回显时,我得到了这种结果:
[
{
"content_id":"1",
"cat_id_FK":"1",
"content_data":"??????????? ? ????? ??????? ??."
},
{
"content_id":"2",
"cat_id_FK":"1",
"content_data":"???? ?? ??? ?? 80% ????? ???? ??? ? ??? ??, ???? ??? ?????? ?? ??????,?????????? ??? ?????\r\n??????? ?? ??? ??????? ???? ??? ??? ??."
},
{
"content_id":"3",
"cat_id_FK":"1",
"content_data":"?????????? ??????? ????????? ???? ???? ???? ? ???????????."
},
{
"content_id":"4",
"cat_id_FK":"1",
"content_data":"??????????? ??? ???? ?????? ?????? ???? ???? ????? ?? ???????? ?? ??? ??."
},
{
"content_id":"5",
"cat_id_FK":"1",
"content_data":"??? ????? ????? ???????? ?? ????? ????? ??? ??????? ? ??????????? ?? ????? ???? ????."
},
{
"content_id":"6",
"cat_id_FK":"1",
"content_data":"??????????? ???? ?? ??? ??? ??? ? ????? ???."
}
]
我的代码:-
header('Content-Type:application/json;charset=utf-8');
//header('Content-Type:application/json;charset=utf16le_general_ci');
include 'init.php';
global $connect;
$query = "SELECT * FROM gsrahasyacontent WHERE cat_id_FK=1";
$queryResult = mysqli_query($connect, $query);
while ($row = mysqli_fetch_assoc($queryResult)) {
$array[] = $row;
}
echo json_encode($array, JSON_UNESCAPED_UNICODE);
//print json_encode($array, JSON_UNESCAPED_UNICODE);
-> 我尝试将字符集从 utf-8 更改为 utf16le_general_ci 但没有奏效。
-> 我也使用 print 而不是 json 但仍然得到相同的结果。
解决方案
试试这个mysqli_set_charset($con,"utf8");
推荐阅读
- node.js - 使用 node.js 监控 icecast
- mysql - 我不小心删除了 mysql 中的主用户,现在我没有任何访问权限
- r - 如何使用 if contains similar, then in R
- php - 如何使用变量搜索特定列数据并更新其列数据
- google-cloud-platform - 如何在 Google Cloud Platform 上为我的组织禁用结算帐户创建?
- scala - Scala Visbility 规则对包范围特征的问题,示例取自猫内部
- amazon-web-services - 如何编码部署 appspec.yml runas ubuntu 用户
- javascript - 将文本放在缩略图旁边而不是中心
- c# - 在 C# 应用程序中获取 Kafka 心跳状态
- python - 删除熊猫中方差低的列