2016-10-03 25 views
0

有很多話題討論我的問題,但我仍無法解決它。PHP:JSON輸出因爲德國字符而變空

我有一個數據庫,我用JSON編碼。但是當我用ä,ö,ü等等德國字符輸入內容時,輸出是空的。

這裏是我的PHP腳本:

<?PHP 
error_reporting(E_ALL); 
ini_set('display_errors', '1'); 

//Verbindung zur Datenbank 
include "inc_mysql.php"; 

//SQL-String 
$select = "SELECT * FROM module ORDER BY name ASC"; 

//SQL-Befehl in Variable speichern 
$sql = mysql_query($select); 

//********************this one was missing!******************** 
mysql_set_charset("utf8"); 

//Array erstellen 
$jsonArray = array(); 

while ($row = mysql_fetch_array($sql)){ 
    $jsonArray[] = $row; 
} 

echo json_encode($jsonArray, JSON_UNESCAPED_UNICODE); 
?> 

PHP文件是UTF-8無BOM。

該列是dabase是utf8_general_ci。

順便說一句:錯誤報告只是說了一些關於mysql_query()的內容。

可能是一個簡單的遊戲,你們:)

發現的解決方案!檢查代碼!

+2

請勿使用已棄用的'mysql_ *'函數。從PHP 5.5開始它們被棄用,並在PHP 7中完全刪除。它們也不安全。改用MySQLi或PDO。 –

+0

如果輸出數據而不將其轉換爲json會怎麼樣?那它有用嗎?建議使用'urf8mb4'作爲字符集和'utf8mb4_unicode_ci'作爲整理,而不是舊的'utf8_general_ci'(mb = mutlibytes =更多支持外部字符,unicode對於更多語言的排序優於普通)。閱讀更多:http://stackoverflow.com/questions/766809/whats-the-difference-between-utf8-general-ci-and-utf8-unicode-ci –

+0

感謝您的反饋。沒有json,我得到一個輸出,但是在方塊中有一個問號。 –

回答

0
+0

格式錯誤的UTF-8字符,可能編碼不正確:)我現在設法找到解決方案!謝謝! :) –