php應用ajax回傳亂碼的解決方法:1、把接收到的資料再重新轉回為GBK,代碼為【iconv(utf-8,'gb2312'$_POST[Data])】;2 、用JSON進行傳遞,程式碼為【$json_string=JSON($data)】。
php應用ajax回傳亂碼的解決方法:
1、從前台JS提交資料到後台的情況下
AJAX資料時,不管是直接用底層xmlHttprequest還是用jQuery的ajax進行資料傳遞時!ajax都會使用utf-8進行編碼後發送!
如果我們的頁面是UTF-8那沒有問題!傳遞過去的中文資料不會亂碼!
如果是GB2312的話~問題就來了!GBK被UTF-8轉換後發送到後台,這時後台直接接收到的已經亂碼了!
解決方法:後台語言為PHP的情況下
iconv('utf-8','gb2312',$_POST['Data']);
原理很簡單:後台直接接收是utf-8,而頁面都是GBK,那隻只要把接收到的資料再重新轉回為GBK就可以了!
這時再做資料庫操作就可以了!存入資料庫裡的必定是正常的中文字元了!
2、後台頁面讀取到資料庫裡資料中含有中文字元,此時再回傳到JS前台的情況下
PHP頁面從資料庫裡讀取到了正常的中文字元想透過AJAX再回傳回去~
如果傳遞回去只是把資料不作任何處理直接以字串的形式傳回去!這是沒有問題的!中文在前台頁面上顯示一切正常!
但後台數據我們一般是需要包裝一下!不然前台接收到的數據會很難處理!
如果是PHP的話!那麼我們現在一般用JSON進行傳遞!這樣傳遞到前台JS的資料就會非常容易解開並操作!
在PHP後台進行json轉換操作時,問題就來了!
json轉換時會發現從資料庫讀取出來的中文又出現NULL或其它不正常的情況,這是因為JSON只轉義encoding編碼!咱也甭管他轉義什麼編碼!
反正JSON轉中文出現亂碼的情況~~
解決方法如下:
function arrayRecursive(&$array, $function, $apply_to_keys_also = false) { static $recursive_counter = 0; if (++$recursive_counter > 1000) { die('possible deep recursion attack'); } foreach ($array as $key => $value) { if (is_array($value)) { arrayRecursive($array[$key], $function, $apply_to_keys_also); } else { $array[$key] = $function($value); } if ($apply_to_keys_also && is_string($key)) { $new_key = $function($key); if ($new_key != $key) { $array[$new_key] = $array[$key]; unset($array[$key]); } } } $recursive_counter--; } function JSON($array) { arrayRecursive($array, 'urlencode', true); $json = json_encode($array); return urldecode($json); } $json_string=JSON($data); //$obj = json_decode($json_string); print_r($json_string);
經過這些處理後你會發現後台PHP從資料庫讀出來的中文字符成功的轉成了json格式並且中文顯示一切正常!
當然此時前台接收到的資料就是JSON格式的了並且中文字元也是正常!
相關學習推薦:PHP程式設計從入門到精通
以上是php應用ajax回傳亂碼怎麼辦?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文比較了酸和基本數據庫模型,詳細介紹了它們的特徵和適當的用例。酸優先確定數據完整性和一致性,適合財務和電子商務應用程序,而基礎則側重於可用性和

本文討論了確保PHP文件上傳的確保,以防止諸如代碼注入之類的漏洞。它專注於文件類型驗證,安全存儲和錯誤處理以增強應用程序安全性。

本文討論了在PHP中實施API速率限制的策略,包括諸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之類的庫。它還涵蓋監視,動態調整速率限制和手

本文討論了使用password_hash和pyspasswify在PHP中使用密碼的好處。主要論點是,這些功能通過自動鹽,強大的哈希算法和SECH來增強密碼保護

本文討論了OWASP在PHP和緩解策略中的十大漏洞。關鍵問題包括注射,驗證損壞和XSS,並提供用於監視和保護PHP應用程序的推薦工具。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

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

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

WebStorm Mac版
好用的JavaScript開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版