iT邦幫忙

0

網頁表單傳送中文編碼問題 big5 utf-8

Zaku 2016-10-27 11:19:182634 瀏覽

請教各位,
假設前端網頁ajax傳送了一串中文字到後台,
有辦法的知他是什麼編碼(預設)?
有辦法強制轉換?

因我在後端強制轉BIG5似乎有點問題,轉UTF8沒問題,
不太清楚傳到後台是以什麼樣的形式傳送,
預設UTF8?有套件可改BIG5?查了一下前端好像不好操作
因有些盲點,不清楚是不是傳來的是UTF8,
後台就無法強制轉BIG5只能轉到對應的UTF8,
還是有其他盲點?

看更多先前的討論...收起先前的討論...
weiclin iT邦高手 4 級 ‧ 2016-10-27 12:43:01 檢舉
你前端網頁編碼是啥就是啥..
kgame iT邦新手 4 級 ‧ 2016-10-28 14:55:36 檢舉
雖然沒有惡意,但大五碼還是扔掉比較好
Zaku iT邦新手 4 級 ‧ 2016-11-02 16:33:48 檢舉
我也想扔掉阿= =...不是我的需求
jsgao0 iT邦新手 5 級 ‧ 2016-11-15 13:40:57 檢舉
試試轉成base64,再到後端decode。
Zaku iT邦新手 4 級 ‧ 2016-11-15 17:07:18 檢舉
應該太費資源,要跑檔案有些有點大

1 個回答

0
maxmas
iT邦新手 4 級 ‧ 2016-11-01 09:54:25

BIG5編碼的網站,在十年前就已經被淘汰了,因為BIG5中文字裡面,有很多字會與程式語言衝碼,所以過去在CGI與Perl的時代,處理上就已經很麻煩,就算進入PHP與ASP時代,還是沒變,因為中文字是雙位元,其代碼是由系統符號組合而成的,因此有很多字會衝碼。

而且我們的電腦系統(XP,WIN2000,WIN7...)裡面所打的中文字,也不是BIG5編碼,那是經過轉換的,就拿你用注音打的字來說,裡面就有很多不是BIG5碼,所以不要再用BIG5,UTF-8編碼,網頁上同時可以顯示繁體簡體中文,日文,韓文.....。

Ajax傳遞資料,是使用JSON格式的純文字型態,必須先經過json_encode編碼之後(轉成純文字),再丟出去,因此,若裡面有中文字,經過編碼之後,中文字就會變成代碼,接收端收到後,用json_decode還原回原來的型態。

但是這裡面要注意的是,如果你是使用Appserv或XAMP等軟體,架Server在自己的電腦上(XP等視窗軟體),json_encode編碼之後的字串內,雙引號會被多加上反斜線,如果沒有先處理就json_decode還原資料,你會永遠得不到資料。

Zaku iT邦新手 4 級 ‧ 2016-11-02 16:36:32 檢舉

感謝大大但這部分不是我能決定的..

我要發表回答

立即登入回答