关于xsl转换xml的中文问题

cnfalcon 2009-02-03 03:41:11
在用javax.xml.transform.Transformer类将xml通过xsl转换时,发现有两个字转换后始终是乱码,分别是“陆”和“一”,但是这两个字如果和别的汉字连在一起转换时就没有问题,如“陆三”,是可以正常转换,GB2312编码和GBK编码都试了(由于系统要求,不能使用UTF-8编码),都是乱码。
通过初步分析发现,可能是字符编码的问题,“陆”的16进制编码是 C2 BD,而另一个符号 ½ 的16进制编码是 EF BB BF C2 BD,最后的几位和“陆”的是一样的,猜想是这种原因。
有哪位专家遇到过,麻烦赐教,多谢!
...全文
92 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovezx1028 2009-03-13
  • 打赏
  • 举报
回复
来学习一下。。其实UTF-8也可以的啊、、能用就可以的啊。
cnfalcon 2009-02-27
  • 打赏
  • 举报
回复
最终验证结果:
发现是windows记事本自身存在问题,“陆一”不能正常保存和显示,使用IE浏览器打开可正常显示。

五天后结贴
mma135 2009-02-16
  • 打赏
  • 举报
回复
mark
netsocket 2009-02-16
  • 打赏
  • 举报
回复
mark
paullbm 2009-02-16
  • 打赏
  • 举报
回复
把中文都转换成unicode码吧。。。

用JDK自带的native2ascii工具进行转换。。
hbwhwang 2009-02-11
  • 打赏
  • 举报
回复
我是说先用UTF8实现XSL到XML的转化,然后再用代码把UTF8的XML转成GBK的
hbwhwang 2009-02-11
  • 打赏
  • 举报
回复
先用UTF8转,转成功了再把字符集转成GBK
cnfalcon 2009-02-11
  • 打赏
  • 举报
回复
多谢各位的回复。
项目中的编码是统一的,用GBK编码或者是前后加空格都试过,仍然是乱码。
cnfalcon 2009-02-11
  • 打赏
  • 举报
回复
刚重新修改了测试代码,可以转换为UTF-8了,不是乱码,但是转换为GBK后仍然是乱码。
cnfalcon 2009-02-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hbwhwang 的回复:]
我是说先用UTF8实现XSL到XML的转化,然后再用代码把UTF8的XML转成GBK的
[/Quote]
也试过的,首先转成UTF-8后的文件就是乱码了。
海诗美妆 2009-02-04
  • 打赏
  • 举报
回复
如果在文字串的两边加上空格呢?

可能是JVM内部处理文字串的时候,分隔处理部分有bug。
glglglglglgllll 2009-02-04
  • 打赏
  • 举报
回复
帮你顶下
laorer 2009-02-03
  • 打赏
  • 举报
回复
全部用GBK也会出现这个问题?
kao331431214 2009-02-03
  • 打赏
  • 举报
回复
将项目中的编码统一

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧