JAVA中文字元編碼問題詳解 2

2021-08-30 06:04:19 字數 1275 閱讀 1663

序號請求源頁面編碼

從位址列輸入url

訪問tomcat

的uriencoding

設定ie

的utf-8

傳送url

位址設定結果1

utf-8

未設定開啟顯示符號亂碼

2utf-8

未設定關閉顯示符號亂碼

3gbk

為設定開啟顯示符號亂碼

4gbk

未設定關閉顯示符號亂碼5

位址列輸入

未設定開啟

顯示符號亂碼6

位址列輸入

未設定關閉

顯示符號亂碼

7utf-8

gbk開啟顯示漢字亂碼

8utf-8

gbk關閉顯示漢字亂碼

9gbk

gbk開啟正常

10gbk

gbk關閉正常11

位址列輸入

gbk開啟

正常12

位址列輸入

gbk關閉

正常13

utf-8

utf-8

開啟ie6:

奇數個的中文最後一位為亂碼

ie7:

正常14

utf-8

utf-8

關閉ie6:

奇數個的中文最後一位為亂碼

ie7:

正常15

位址列輸入

utf-8

開啟顯示口字亂碼16

位址列輸入

utf-8

關閉顯示口字亂碼

17gbk

utf-8

開啟顯示問號亂碼

18gbk

utf-8

關閉顯示問號亂碼19

位址列輸入

utf-8

開啟顯示口字亂碼20

位址列輸入

utf-8

關閉顯示口字亂碼

以上**裡的現象,除了指名在ie7上,其他全是在ie6上測試的結果。

由這個表我們可以看到,ie的「總以utf-8方式傳送url位址」設定並不影響對parameter的解析,而從頁面請求url和從位址列輸入url居然也有不同的表現。

根據這個表列出的現象,大家只要用smartsniff抓幾個網路包,並稍稍調查一下tomcat的源**,就可以得出以下結論:

1. ie設定中的「總以utf-8方式傳送url位址」只對url的path部分起作用,對查詢字串是不起作用的。也就是說,如果勾選了這個選項,那麼類似http://localhost:8080/test/

Java 中文字元編碼

public class test for int i 0 i string類的不帶引數的getbytes 方法會以程式所執行平台的預設編碼方式為準來進行轉換,在不同環境下可能會有不同的結果,因此建議使用指定編碼方式的getbytes string charsetname 方法。public sta...

包含中文字元的URL編碼問題

在xml應用中,經常將一些 url資訊作為xml資料儲存,其中 url引數有可能包含有中文字元。當使用dom對xml資料進行解析時,可以對中文字元進行編碼。但如果只使用xslt來顯示xml資料時 data.xml data.xsl 發現此時的 url會出現編碼錯誤.即使指定編碼型別 encoding...

Qt中關於中文字元編碼問題

qstring filepath filepath qfiledialog getopenfilename null,qstring 開啟戶型圖 qstring qstring 戶型 件 bmp jpg png 編譯器報如下錯誤 e qt projects huxing src mainwindow...