1. 程式人生 > >poi 讀取excel 的亂碼

poi 讀取excel 的亂碼

匯入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;
                	   
                   }
                }