字元亂碼問題小結

2022-09-13 03:18:11 字數 1081 閱讀 8833

在工作中,有時會遇到一些字元編碼上的問題,一旦檔案的編碼格式與原始檔的編碼格式不一致,**中的一些字元(大多數情況下是中文)就很有可能會出現亂碼現象。當時,自己經驗不足的時候,要解決這類問題,也常常會讓自己耗費不少的時間,現在,根據一些資料來作出一些整理,以便日後的工作中可以更有效率地解決重複問題。

首先介紹一下計算機中一些主流常見的編碼。

1.1 gbk & gb2312 (中文)

1.2 unicode(utf-8 & utf-16 & utf-32)

unicode 編碼也稱為萬國碼,它是電腦科學領域的一項業界標準。unicode 是為了解決傳統的字元編碼方案的侷限而產生的,它為每種語言中的每個字元設定了統一並且唯一的二進位制編碼,以滿足跨語言、跨平台進行文字轉換、處理的要求。

unicode 比 ansi 好用。現在 win 的系統核心開始完全支援並完全應用 unicode 編寫,所有 ansi 字元在進入底層之前,都會被 api 轉換成 unicode。基於此,所以你一開始就是用 unicode 編碼就可以減少轉換的用時和 ram 開銷。

另外在語言中 j**a / .net 內建的字串所使用的字符集已經完全是 unicode。最重要的是,現在世界上大多數程式用的字符集都是 unicode。

不過 j**a 中 unicode 使用 16 進製編碼(可以使用 utf-8 解決),編碼太龐大會造成網路傳輸的負擔。

1.3 iso8859-1

iso8859-1 是國際通用編碼,一般只有字母就使用此編碼格式。它是單位元組編碼,向下相容 ascii,其編碼範圍是0x00-0xff。

可以使用下面這段**,檢視系統的屬性列表:

public

class test

}

執行此**,結果如下(擷取部分內容):

同時,應該需要注意這個屬性:

需要明白亂碼出現的本質:其實就是編碼格式和解碼格式不一致造成的。

null

POI 亂碼問題小結

poi在使用的時候碰到漢字的話,經常碰到亂碼問題,解決辦法如下 1,工作表名字亂碼 解決辦法 workbook.setsheetname sheetcount,sheetname hssfworkbook.encoding utf 16 2,單元格亂碼 解決辦法 在寫單元格的值的之前,workshe...

springmvc字元 中文亂碼問題

輸入中文測試,發現亂碼 以前亂碼問題通過過濾器解決 而springmvc給我們提供了乙個過濾器 可以在web.xml中配置,修改了xml檔案需要重啟伺服器。springmvc未設定字元過濾器,獲取的資訊,在前端頁面顯示的中文都是中文亂碼。解決方法 在web.xml中設定字元過濾器 encoding ...

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

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