[英]character encoding php - javascript
我有一個php文件,用於管理數據庫中的實體。 我想做的是從數據庫中檢索一組字符串,然后通過json_encode將其返回給javascript函數。
問題是,當php腳本檢索值時,重音字符顯示良好。
當我這樣輸出時:
echo "<pre>";
print_r($row);
echo "</pre>";
我得到:
Array
(
[0] => 1
[1] => Que és la bolsa de trabajo de la FIB?
)
但是當我想通過json_encode將數據返回給ajax調用時,我得到了:
["1","Que \u00e9s la bolsa de trabajo de la FIB?"]
我不是很想在json_encode中將其輸出的數據是:
function encode_items(&$item, $key)
{
$item = utf8_encode($item);
}
array_walk_recursive($stack, 'encode_items');
echo json_encode($stack);
關於如何正確地編纂它的任何想法? 我認為,如果在PHP的回顯中正確顯示了它,則在我的javascript ajax調用中可以正常顯示,對嗎?
謝謝
您正在尋找json_encode
的JSON_UNESCAPED_UNICODE
標志 :
JSON_UNESCAPED_UNICODE
( 整數 )
按字面意義編碼多字節Unicode字符(默認為轉義為\\ uXXXX)。 自PHP 5.4.0起可用。
與$stack
輸入數組無關。 順便說一句,這些轉義值是有效的JSON,無需避免使用它們。 如果您不使用Unicode編碼發送HTML,它們甚至可以使您的生活更輕松。
您的JSON結果沒有任何問題。
在PHP 5.4之后,如果需要,可以使用JSON_UNESCAPED_UNICODE選項。
echo json_encode($stack, JSON_UNESCAPED_UNICODE);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.