前提:系統專案是gbk格式的。
做一個非同步功能,使用 ajax 進行非同步提交,並在ajax中設定了 contentType:"application/x-www-form-urlencoded; charset=gb2312" 後,在後臺接收到的資料一直都是亂碼,一頭霧水,各種百度,進行各種轉碼,試了好久,一直都不行。
分析問題:
1、通過 firebug 看到 ajax提交的格式仍然是 urf-8, 因而後臺接收到的資料應該就是utf8格式的
2、在後臺一直日誌中記錄資料發現一直是亂碼(在gbk格式的檔案中,檢視utf8 的資料,會亂碼)
解決:
將接收到的資料先轉成 gbk格式,然後再進行後續的一系列操作,此時資料全部正常了
php 實現轉換 iconv('UTF-8', 'GB2312', $str) (utf8 轉為 gbk)