PHP5.4中json_encode中文转码的变化[让json更懂中文]
在php5.4以前做json_encode的时候中文会被unicode编码,中文都会被编码, 变成不可读的, 类似“\u***”的格式, 还会在一定程度上增加传输的数据量。
例如:
$str = '中文';
echo json_encode($str);
//"\u4e2d\u6587"
php5.4开始
echo json_encode($str, JSON_UNESCAPED_UNICODE);
//"中文"
php5.4让json更懂中文!
5.4之前不进行unicode转码,有3种方法处理:
PHP5.4中json_encode中文转码的变化让json更懂中文
但其实前两种方式是会导致问题,在一些特殊的情况下。如下例:
function myjson($code) {
$code = json_encode(urlencodeAry($code));
return urldecode($code);
}
function urlencodeAry($data) {
if(is_array($data)) {
foreach($data as $key=>$val) {
$data[$key] = urlencodeAry($val);
}
return $data;
} else {
return urlencode($data);
}
}
$test = array (
0 => '"大连周水子机场"→人民路',
1 => '运营时间:5:10~21:00 票价:16元 发车间隔20分钟一班,客满随时发车',
);
/*
通过常规则的json_encode|json_decode来编解码
["\"\u5927\u8fde\u5468\u6c34\u5b50\u673a\u573a\"\u2192\u4eba\u6c11\u8def","\u8fd0\u8425\u65f6
\u95f4\uff1a5\uff1a10\uff5e21\uff1a00 \u7968\u4ef7\uff1a16\u5143 \u53d1\u8f66\u95f4\u969420
\u5206\u949f\u4e00\u73ed\uff0c\u5ba2\u6ee1\u968f\u65f6\u53d1\u8f66"]
array (
0 => '"大连周水子机场"→人民路',
1 => '运营时间:5:10~21:00 票价:16元 发车间隔20分钟一班,客满随时发车',
)
*/
$test1 = json_encode($test);
$test2 = json_decode($test1, TRUE);
echo $test1;
echo PHP_EOL;
var_export($test2);
echo PHP_EOL;
/*
通过myjson|json_decode来编解码,但是会出报错json_last_error返回(JSON_ERROR_SYNTAX === 4),
因为""大连周水子机场"→人民路"
[""大连周水子机场"→人民路","运营时间:5:10~21:00 票价:16元 发车间隔20分钟一班,客满随时发车"]
NULL
*/
$test1_1 = myjson($test);
$test2_1 = json_decode($test1_1, TRUE);
echo $test1_1;
echo PHP_EOL;
var_export($test2_1);
echo PHP_EOL;
/*
通过json_enco+pack|json_decode来编解码,保证不会对中文编码,但是会缺少运营时间数据和票价
["\"大连周水子机场\"→人民路","运营时间::~: 票价:元 发车间隔分钟一班,客满随时发车"]
array ( www.2cto.com
0 => '"大连周水子机场"→人民路',
1 => '运营时间::~: 票价:元 发车间隔分钟一班,客满随时发车',
)
*/
function replaceUni($str) {
return preg_replace("#\\\u([0-9a-f]+)#ie", "iconv('UCS-2', 'UTF-8', pack('H4', '\\1'))", $str);
}
$test1_2 = replaceUni(json_encode($test));
$test2_2 = json_decode($test1_2, TRUE);
echo $test1_2;
echo PHP_EOL;
var_export($test2_2);
echo PHP_EOL;

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

使命召喚戰區作為全新上線的一款手遊,有很多的玩家都非常的好奇要怎麼樣才能夠將這款遊戲的語言設定為中文,其實非常的簡單,玩家只需要下載中文的語言包,隨後進行使用就可以進行修改了,詳細的內容可以在這篇中文設定方法介紹之中進行了解,讓我們一起來看看吧。使命召喚戰區手遊怎麼設定中文1、先進入遊戲,點選介面右上角的設定圖示。 2.在出現的選單列中,找到【Download】這個選項並且點選。 3.在這個頁面中選擇【SIMPLIFIEDCHINESE】(簡體中文),就可以對簡體中文的安裝包進行下載了。 4.回到設

VSCode設定中文:完整指南在軟體開發中,VisualStudioCode(簡稱VSCode)是一個常用的整合開發環境。對於使用中文的開發者來說,將VSCode設定為中文介面可以提升工作效率。本文將為大家提供一個完整的指南,詳細介紹如何將VSCode設定為中文介面,並提供具體的程式碼範例。第一步:下載安裝語言包開啟VSCode後,點選左

Excel表格是現在很多人都在使用的辦公室軟體之一,有些使用者因為電腦是win11系統,因此顯示的是英文介面,想要切換成中文介面,但是不知道該怎麼操作,針對這個問題,本期小編就來為廣大用戶們回答,一起來看看今日軟體教學所分享的內容。 Excel切換中文操作教學: 1、進入軟體,點選頁面上方工具列左側的「File」選項。 2、在下方給出的選項中選擇「options」。 3、進入新介面後,點選左側的「language」選項

《WWE2K24》乃由VisualConcepts傾力打造的競速運動遊,已於2024年3月9日正式問世。此款遊戲倍受讚譽,許多玩家熱切關注其是否設有中文版。遺憾的是,迄今為止,《WWE2K24》尚未推出中文語言版本。 wwe2k24會有中文嗎答:目前不支援中文。 WWE2K24在Steam國區的標準版售價為199元,豪華版為329元,紀念版為395元。遊戲的配置需求較高,無論處理器、顯示卡或運行記憶體等方面,均有一定標準。官方推薦配置以及最低配置介紹:

解決PHP寫入txt檔案中文亂碼的技巧隨著網路的快速發展,PHP作為一種廣泛應用的程式語言,被越來越多的開發者所使用。在PHP開發中,經常需要對文字檔案進行讀寫操作,其中包括寫入中文內容的txt檔案。然而,由於編碼格式的問題,有時會導致寫入的中文出現亂碼。本文將介紹一些解決PHP寫入txt檔案中文亂碼的技巧,並提供具體的程式碼範例。問題分析在PHP中,文本

谷歌瀏覽器如何把中文改成英文?有些小夥伴想要將Google瀏覽器設定為英文,這樣就能夠在使用過程中不斷的提升自己的英文了。那麼設定為英文該如何操作呢?谷歌瀏覽器預設是中文的,下面小編帶給大家谷歌瀏覽器設定語言為英文的方法,一起來看看吧。 設定步驟 1、開啟【Google瀏覽器】,如下圖所示。 2、點選Google瀏覽器右上角介面【三點】選單,如下圖所示。 3、進入選單頁面後,找到【設定】,如下圖所示。 4、進入設定頁後,點選【語言】選項,如下圖所示。 5、在語言介面選擇【新增語言】,如下圖所示。

PHP數組轉JSON的效能最佳化方法包括:使用JSON擴充和json_encode()函數;新增JSON_UNESCAPED_UNICODE選項以避免字元轉義;使用緩衝區提高循環編碼效能;快取JSON編碼結果;考慮使用第三方JSON編碼庫。

夸克瀏覽器軟體內提供的資源資訊數不勝數,並且搜尋結果都是最準確的,內建強大的搜尋引擎,輸入關鍵字就能找到相對應的答案,整體的上網體驗非常好。不同領域的瀏覽板塊都是開放的,搜你所搜看你所看,都能第一時間找到,煩人的廣告彈窗全部屏蔽,煩人的廣告彈窗全部屏蔽,自由切換不同的瀏覽模式,上網過程完全沒有卡頓,當然還能開啟翻譯功能,任何國家的語言都可以輕鬆翻譯,交流溝通沒有任何問題,兼容各種格式的文件文檔,都可以打開一看,現在小編在線詳細為夸克瀏覽器用戶帶來設定中文翻譯的方法。 1.先點選手機桌面
