请帮我找到这个丢失的字符,又是字符集的问题~?

探讨在使用DOM4J解析XML时遇到的问题:字符引用&#169在GBK编码下显示为问号。尽管在JavaScript中能正确显示为版权符号©,但在Java中尝试多种编码设置仍无法解决。

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

我上一个帖子 询问 在dom4j解析xml时无法正确识别字符引用——&#169,进一步跟踪后发现,该字符定义在 ISO 8859-1 character set

在中文Windows上运行Java程序时(此时字符集为GBK ),编码为169的字符并不存在(GBK中没有这个字符?? ),显示为问号——?,程序片段如下: 

  1. System.out.println( "int --> char :"  +  97  +  " --> "  + ( char97 );  //输出 a   
  2. System.out.println( "int --> char :"  +  169  +  " --> "  + ( char169 );  //输出 ?   

在同样的环境下——中文Windows GBK字符集 的IE/FF中执行相同的功能的Js程序则没有问题 正确的显示了©字符,程序片段如下:  

  1. alert("int --> char :97 --> " + String.fromCharCode(97));  //输出 字母a    
  2. alert("int --> char :169 --> " + String.fromCharCode(169));  //输出 版权符号 ©   

这说明在我的OS上是有这个字符的嘛,为什么Java中就变没了呢??

当然我也将java代码的encoding设置成utf-8和iso8859-1,还将file.encoding也设置成utf-8和iso8859-1 结果还是一样的,该字符依然羞答答的不出来,为之奈何……~???

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值