poi 讀取excel 的亂碼
阿新 • • 發佈:2019-02-03
匯入excel時候, 總是有個資料顯示問號。 分析下程式碼是:#c2#a0,
”蚜蟎無蹤 “始終顯示“蚜蟎無蹤?”
就想如何解析到這個字元。 但是用poi讀取的時候,就出現亂碼。 嘗試n久。 本來想通過這個轉換字符集來獲取這個字, 但是未果。
因為poi讀取的時候, 就始終顯示“?”,
解決辦法: 把整個工程的編碼格式換成:utf8, 就可以正確顯示。
誤區1: 讀取時候顯示?, 其實編碼沒有變化, 只是不能顯示而已。
誤區2:poi是可以讀取這種excel裡面的怪字元的。 只是看怎麼用, 差點就換了另外一個: jxf來解析excel了。
另外附上一段程式碼: 判斷是否是gbk的字元;
for(int n = 0; n < str.length(); n ++){ if(!java.nio.charset.Charset.forName("gbk").newEncoder().canEncode(str.charAt(n))){ // str = str.replaceAll(str.charAt(n)+"", ""); System.out.println(str); break; } }