我使用utf8_unicode_ci爲MYSQL表中的列存儲TAMIL語言字符。PHP中的內容類型字符集UTF8_unicode_ci的JSON數據頭 - Ajax調用
我正在實現一個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的實際字符...
如果你只是打印你得到的?我的意思是......使用回聲頭(「Content-Type:text/html; charset = utf-8」); – boctulus
@Boctulus - 參考輸出JSON數據快照,我在瀏覽器中獲得了這個。 –
嘗試在連接到數據庫後使用mysqli_set_charset($ conn,'utf8') – boctulus