Raymond
Java笔记
由一个Document对象,转换成String,这个方法我几年前写的了:
            TransformerFactory tFactory = TransformerFactory.newInstance();
            Transformer transformer 
= tFactory.newTransformer();
            
DOMSource source = new DOMSource(inputDoc);
            StringWriter out 
= new StringWriter();
            StreamResult result 
= new StreamResult(out);
            transformer.transform(source, result);
            out.flush();
            
return out.toString();

一直用是没有问题的,直到今天在resin上面运行,发现一个奇怪的现象,写入数据库的中文都变成了类似&#XXXX; 这种编码。更加奇怪的是我用应用程序的方式运行,是正常没问题的。我猜想是resin在某个地方做了设置,在网上搜索又一时找不到好方法,不想为了一个小问题转用jdom之类的包。

研究了一下,找到了解决的办法。在Transformer对象创建之后加一句:
   
   
transformer.setOutputProperty("encoding","GBK");

问题解决了。具体的机制还没有时间去了解,有空再回头研究吧。
posted on 2006-01-09 17:39 Raymond的Java笔记 阅读(3858) 评论(1)  编辑  收藏
Comments
  • # re: DOM的Document对象转换到String的中文编码(乱码)问题
    AA
    Posted @ 2007-01-15 23:26
    谢谢你,你的文章帮助了我:)  回复  更多评论   

只有注册用户登录后才能发表评论。


网站导航: