91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于Tomcat/Android/JAVA交互時中文傳輸亂碼的解決方法

發布時間:2020-08-23 00:04:01 來源:網絡 閱讀:1858 作者:guozhendan 欄目:移動開發

最近在做項目的時候,與服務器交互傳輸信息時,出現中文亂碼問題。由于一開始對編碼這個東西不是很了解,都是一知半解狀態,平時所謂的程序中的轉碼也都是基于僥幸的過去了,沒遇到什么問題。可這次卻沒這么幸運了,中文亂碼。。。。,好了,廢話不多說了,直入主題關于Tomcat/Android/JAVA交互時中文傳輸亂碼的解決方法


如何才能正確解碼?首先要清楚的知道源數據是以什么樣的編碼方式encode過來的,然后再以對應的編碼方式decode才能正確解碼,否則就會變成亂碼!


舉例說吧:

    以Tomcat作服務器,默認的環境編碼是ios-8859-1,客戶端編碼方式為UTF-8(通常很多人都喜歡把編碼方式設置成UTF-8吧,呵呵)。當客戶端Get/Post數據時,參數值中包含中文時,這里要注意了,GET/POST是有區別的:

GET時,Tomcat會以默認的環境編碼iso-8859-1方式進行一番解碼,這樣就會導致中文的地方變成亂碼了,要想解決這個問題,可以逆編碼一下,new String("亂碼字符串".getBytes("iso-8859-1"), "UTF-8"),就能正常顯示了。

POST時,就不會先以Tomcat的默認編碼時行解碼,而是以你設置的過濾器中的編碼方式來解碼了(比如你設置的是UTF-8)。


    當然還有其它更多的方式和方法,比如你可以在GET方式請求時,進行兩次URLEncode.encode("中文", "UTF-8");,這樣Tomcat服務端只要進行一次URLDecode.decode("參數值", "UTF-8");就可以了。原因是:第一次URLEncode是對中文轉換成%、字母和數字,第二次URLEncode是對%、字母和數字進行編碼,因此在Tomcat服務端默認使用iso-8859-1進行解碼后的結果是%、字母和數字,再URLDecode.decode就可以正常顯示中文。




向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武川县| 肃南| 乌鲁木齐县| 瓮安县| 临武县| 萨迦县| 永济市| 香河县| 城步| 游戏| 梁平县| 湟中县| 石楼县| 绥滨县| 湛江市| 黔江区| 聂拉木县| 阜城县| 虎林市| 土默特右旗| 中江县| 望城县| 井冈山市| 奉新县| 芮城县| 大化| 纳雍县| 微山县| 萍乡市| 太仆寺旗| 台东市| 仪陇县| 邯郸县| 金沙县| 呼和浩特市| 军事| 长沙市| 西乡县| 泰宁县| 盐池县| 壶关县|