2012-06-04 55 views
0

我有一個包含一些文本的MySQL數據庫,其中一些文本是使用外語編寫的。當我嘗試使用PHP來生成使用這些內容的JSON時。我在這些領域得到了問號和空值。使用PHP生成JSON文件時的外語問題

如果我使用MySQL Workbench檢索這些字段,它們將以正確的外語顯示。無論如何我可以解決這個問題?以下是我用來生成JSON文件的代碼。

$arr = array(); 
$rs = mysql_query($sql) or die(json_encode(array("error"=>mysql_error()))); 
while($obj = mysql_fetch_object($rs)) { 
    $arr[] = $obj; 
} 

echo json_encode(array("T"=>$arr)); 
exit; 
+0

你是如何運行PHP看到的開頭?和NULs?從ASCII命令行? – wallyk

+0

在MySQL本身中正在使用什麼字符集編碼? –

+0

您需要在整個管道中保持相同的字符集,或根據需要進行轉換。如果你的數據庫是utf-8,但你的http連接使用的是iso8859,那麼你會得到垃圾。 –

回答

0

使用函數utf8_encode功能編碼從數據庫帶來UTF8一切。

確保您所有的文件進行編碼以同樣的方式,並在你的HTML添加:

<meta charset="UTF-8"> 

<head>標籤