簡體   English   中英

字符編碼php-JavaScript

[英]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_encodeJSON_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM