首頁 後端開發 php教程 php5.2 Json不能正确处理中文、GB编码的解决方法_PHP

php5.2 Json不能正确处理中文、GB编码的解决方法_PHP

Jun 01, 2016 am 11:55 AM
json 中文

JSON

php5.2新增的json功能是非常受欢迎的,但是经过测试发现,
json_encode对中文的处理是有问题的,
1.不能处理GB编码,所有的GB编码都会替换成空字符.
2.utf8编码的中文被编码成unicode编码,相当于javascript的escape函数处理的结果.
复制代码 代码如下:
/*

为了能正确使用json,首先我们就应该在编码上采用utf8编码,然后再对json_encode的返回结果稍加处理就可以得到正确的结果了。
我写了一个简单的类,将这两个函数包装了一下,
**/
class Json{
public static function encode($str){
$code = json_encode($str);
return preg_replace("#\\\u([0-9a-f]+)#ie", "iconv('UCS-2', 'UTF-8', pack('H4', '\\1'))", $code);
}

public static function decode($str){
return json_decode($str);
}
}
//使用的时候

Json::encode($code);
Json::decode($code);
/**这样可以正确处理utf8编码的中文了。

PS:对于GB编码的中文,我们可以在编码时先转成UTF8编码,再进行编码,解码的时候再进行一个utf8 -> gb的转换就可以了。
另外一般json_encode的结果我们是返回到客户端来使用,我们其实还可以用javascript的unescape函数来对unicode编码的中文进行解码,从而还原成正确的中文。

或者用:$title = mb_convert_encoding($title, 'HTML-ENTITIES', $this->_outCharset);//任意编码下都正常显示
********/
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

使命召喚戰區手遊怎麼設定中文 使命召喚戰區手遊怎麼設定中文 Mar 22, 2024 am 08:41 AM

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

Excel表格怎麼設定顯示中文? Excel切換中文操作教學 Excel表格怎麼設定顯示中文? Excel切換中文操作教學 Mar 14, 2024 pm 03:28 PM

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

VSCode 設定中文:完全指南 VSCode 設定中文:完全指南 Mar 25, 2024 am 11:18 AM

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

wwe2k24會有中文嗎 wwe2k24會有中文嗎 Mar 13, 2024 pm 04:40 PM

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

解決PHP寫入txt檔案中文亂碼的技巧 解決PHP寫入txt檔案中文亂碼的技巧 Mar 27, 2024 pm 01:18 PM

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

谷歌瀏覽器如何把中文改成英文模式? 谷歌瀏覽器如何把中文改成英文模式? Mar 13, 2024 pm 07:31 PM

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

夸克瀏覽器怎麼設定為中文 設定中文翻譯的方法 夸克瀏覽器怎麼設定為中文 設定中文翻譯的方法 Mar 12, 2024 pm 02:10 PM

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

PHP 數組轉 JSON 的效能最佳化技巧 PHP 數組轉 JSON 的效能最佳化技巧 May 04, 2024 pm 06:15 PM

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

See all articles