當嘗試使用latin1_swedish_ci 編碼從資料庫中檢索重音字元並使用json_encode() 將它們編碼為JSON 時,結果可能出乎意料。預期結果(例如“Abord â Plouffe”)會轉換為“null”,從而使編碼的 JSON 無效。
要解決此問題,需要在先前將檢索到的值明確編碼為 UTF-8應用 json_encode()。這可確保 JSON 輸出包含正確的 UTF-8 字元並進行相應的驗證。以下是如何實現這個解決方案:
// Initialize an empty array for the encoded result set
$rows = array();
// Iterate over the PHPMyAdmin result set
while ($row = mysql_fetch_assoc($result)) {
// Apply UTF-8 encoding to each row value
$rows[] = array_map('utf8_encode', $row);
}
// Output the encoded $rows
echo json_encode($rows);
在此修改後的程式碼中,我們利用 array_map 函數將 utf8_encode 套用到結果集中每行的每個元素。這可確保在執行 json_encode 之前所有字元都正確編碼為 UTF-8。因此,產生的 JSON 輸出將準確反映預期字符,並根據需要保留重音字符。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3