zdd

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  2 随笔 :: 0 文章 :: 5 评论 :: 0 Trackbacks
Title今天在练习Web Service时遇到两个问题:

1、调用webservice的方法,传递的参数有中文,中文乱码,上网查了一些资料,但还是没有解决我的问题。最后的解决办法是先编码后解码。具体例子如下:
客户端代码
xmlstring=URLEncoder.encode(xmlstring);//xmlstring为客服端调用服务端方法的参数(含中文),
服务端代码
xmlstring=URLDecoder.decode(xmlstring);
这样做非常简单,减少很多编码的烦恼
2、读取服务端的XML时出现乱码,解决办法是:
SAXReader saxReader = new SAXReader();           
URL url1=new URL("http://192.168.10.186/tddj/tddj/sqlx.xml;");
// 读取服务器端的xml时,设置流文件的读取时编码应该与源文件的编码一致
BufferedReader in1 = new BufferedReader(new InputStreamReader(url1.openStream(),"UTF-8"));
两个很简单的问题,但都是我辛辛苦苦想出来的解决办法,特别第一个问题,网上的很多解决方法都比较麻烦,且不一定解决问题。

之前也遇到过乱码的问题,现在想想好多问题是可以变通的解决,不必非要吊死在一棵树上!!!


posted on 2009-12-10 18:25 肖东 阅读(1649) 评论(4)  编辑  收藏

评论

# re: 读取服务端的XML乱码的解决 2009-12-11 16:12 av
crimson 这个里面好像不支持中文路径啊
  回复  更多评论
  

# re: 读取服务端的XML乱码的解决 2009-12-11 16:47 肖东
你可能是说第二个问题,我的意思是xml文件里含有中文,就需要设置编码方式,且与源文件一致。的确,如果url里面含有中文,就会报错。我正在为这个问题烦恼,即:URL url1=new URL("http://192.168.10.186/tddj/tddj/中国.xml;");
就会报错。即使对“中国”编码,也会报错。暂时我还没有找到解决办法。  回复  更多评论
  

# re: 读取服务端的XML乱码的解决 2009-12-11 17:02 肖东
希望各位多多指教!上面的这个问题我已经研究一天了,还是没找到解决办法。  回复  更多评论
  

# re: 读取服务端的XML乱码的解决 2009-12-11 17:40 肖东
问题解决了一半。配置服务器的server.xml,Connector元素中设置URIEncoding="GBK"。这样提交的url自动编码解码。但是会影响整个工程。显然这样是不被允许的。只好再想其他办法。  回复  更多评论
  


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


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问