【发布时间】:2016-07-05 23:22:34
【问题描述】:
我使用 utf8_unicode_ci 作为 MYSQL 表中的一列来存储泰米尔语字符。
我正在实现一个 AngularJS 项目,因为我正在调用 PHP 服务,返回类型是 JSON 数据。我无法获得实际的字符,而不是我得到 ?????????。
我的 PHP 示例源代码:
<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
$outp = "";
$sql_select = "";
$sql_select .= "SELECT * FROM poll_quest WHERE qid = $nqid LIMIT 1 ";
$bQuery = mysql_query($sql_select, $link);
while ($bRow = mysql_fetch_array($bQuery)) {
$qflag = true;
$outp .= '{ "ID": ' . $bRow['qid'] . ',';
$outp .= '"Ans":"' . $bRow['ans_tam'] . '" }';
}
$outp ='{"records":['.$outp.']}';
echo($outp);
?>
我的泰米尔语是
- மோசம்
- மோசமாக இல்லை
- நன்று
- மிகநன்று
MySQL 表结构快照:
MySQL 表数据快照:
输出 JSON 数据快照:
{
"records":[
{
"ID":"1",
"Ans":"??. ????????"
},
{
"ID":"2",
"Ans":"??. ?????????"
},
........
{
"ID":"5",
"Ans":"??. ??????????"
}
]
}
请帮助我,如何获取响应 JSON 中的实际字符...
【问题讨论】:
-
如果你只是打印你得到的东西?我的意思是...使用带有 header("Content-Type: text/html; charset=utf-8"); 的 echo
-
@Boctulus - 参考输出 JSON 数据快照,我在浏览器中得到了这个。
-
连接到数据库后尝试使用 mysqli_set_charset($conn,'utf8')
标签: php mysql angularjs json ajax