poi 读取excel 的乱码

本文探讨了在使用POI处理Excel文件时遇到特殊字符显示为问号的问题,并分享了解决方案:调整项目编码格式为UTF-8。此外,还提供了一段用于判断字符串中是否存在GBK编码无法表示的字符的代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值