位元組流亂碼與字元流亂碼

2022-05-01 08:57:11 字數 689 閱讀 5264

本文總結自:

前提:資料展示過程:資料寫入response容器,瀏覽器解析response容器

位元組流亂碼問題

如果用response.getoutputstream.write("中國".getbytes("utf-8")); 寫入流(把『中國』以utf-8的格式存入response容器),瀏覽器上會展示亂碼。

原因:瀏覽器預設使用碼表gb2312來展示資料,因此會出現亂碼。

解決方法:可以通過設定content-type來指定碼表:

response.setheader("content-type", "text/html;charset=utf-8");

字元流亂碼問題

如果用response.getwriter.write("中國");  寫入流,出現亂碼。

原因:當將"中國"寫入到response中,response容器預設使用iso8859-1碼表儲存"中國",那麼儲存的會是兩個亂碼

如果設定:response.setheader("content-type", "text/html;charset=utf-8");會怎樣?

依舊出現亂碼。。

原因是試圖將iso8859-1位元組還原成utf-8位元組是不可行的。

因此我們需要在源頭上,即裝入容器是就採用utf-8

response.setcharacterencoding("utf-8");

位元組流亂碼,字元流亂碼問題

位元組流亂碼問題 如果用response.getoutputstream.write 中國 getbytes utf 8 寫入流 把 中國 以utf 8的格式存入response容器 瀏覽器上會展示亂碼。原因 瀏覽器預設使用碼表gb2312來展示資料,因此會出現亂碼。解決方法 可以通過設定conte...

webservice 位元組流亂碼

今天遇到乙個比較棘手的問題 本地eclipse工程師utf 8的編碼,tomcat也是這個編碼,由於要在webservice中傳遞byte陣列,目的是壓縮以保證大批量資料的可靠傳輸,問題出現了,對方介面是服務端,並且測試和生產環境都需要gbk編碼的格式,這樣導致了對方給我傳遞的編碼是gbk,我輕鬆解...

位元組流與字元流

位元組流 輸入位元組流 inputstream 所有輸入位元組流的基類,是抽象類 fileinputstream 讀取檔案資料的輸入位元組流 bufferedinputstream 緩衝輸入位元組流,該類可以提高讀取檔案資料的效率 輸出位元組流 outputstream 所有輸出位元組流的基類,是抽...