dom4j处理xml在linux环境下中文乱码
2017-10-30 09:46
417 查看
最近在搞一个webservice 的soap接口数据同步,接口提供方就是个鸟人,两个接口来来回回写了2个月才调通,我也真是服了
———**——–
好了吐槽到此结束,下面说说乱码的问题
dom4j 解析xml 就是一个把字符串、文件、输入流转换成文本(Document )再处理的过程;下面附上代码
这段代码在windows下运行没有问题;但是部署到linux上的时候中文居然解析成乱码存到数据库了(心里有点激动,有码可调^^)。
查询发现linux系统的默认编码是zh_CN.GB18030,不是UTF-8编码不一致,我就把编码换一下
打包-部署-重新运行;到这直接gameover抛异常了。
本地改编码行不通,那就换服务器的,我就将服务器编码换成zh_CN.UTF-8(如何换服务器编码我就不说了)。
注意这时候编码转换还是
然后打包-部署-启动-运行-还是还是乱码(jiji)。
。。。(凌乱了3个小时候,终于发现问题了,改linux服务器编码后需要重新登录(ps不是重启服务就可以的);)重新登录xShell后,重启-运行-完美解析中文(到此搞定^^)。
———**——–
好了吐槽到此结束,下面说说乱码的问题
dom4j 解析xml 就是一个把字符串、文件、输入流转换成文本(Document )再处理的过程;下面附上代码
InputStream in = new ByteArrayInputStream(fyxx.getBytes()); SAXReader saxReader = new SAXReader(); Document doc = saxReader.read(new BufferedReader(new InputStreamReader(in,"UTF-8")));//此处编码转换是关键 in.close();
这段代码在windows下运行没有问题;但是部署到linux上的时候中文居然解析成乱码存到数据库了(心里有点激动,有码可调^^)。
查询发现linux系统的默认编码是zh_CN.GB18030,不是UTF-8编码不一致,我就把编码换一下
Document doc = saxReader.read(new BufferedReader(new InputStreamReader(in,"zh_CN.GB18030")));
打包-部署-重新运行;到这直接gameover抛异常了。
本地改编码行不通,那就换服务器的,我就将服务器编码换成zh_CN.UTF-8(如何换服务器编码我就不说了)。
注意这时候编码转换还是
Document doc = saxReader.read(new BufferedReader(new InputStreamReader(in,"UTF-8")));
然后打包-部署-启动-运行-还是还是乱码(jiji)。
。。。(凌乱了3个小时候,终于发现问题了,改linux服务器编码后需要重新登录(ps不是重启服务就可以的);)重新登录xShell后,重启-运行-完美解析中文(到此搞定^^)。
相关文章推荐
- Linux环境下中文字体乱码处理办法
- netbeans在linux环境下中文乱码的处理
- java 解析xml是使用dom4j空行以及中文乱码的处理
- netbeans在linux环境下中文乱码的处理
- linux环境下java swing中文乱码
- linux环境下生成文件,文件名称中文乱码
- linux环境下运行java中文乱码(docker)
- win10 环境 gitbash 显示中文乱码问题处理
- Linux环境java中文乱码解决方案
- Linux环境下自启动tomcat中文乱码问题
- dom4j 输出UTF-8 XML时中文乱码
- Linux环境编译安装Mysql以及PHP中文乱码解决
- linux中文乱码处理小结
- Linux下SQLPlus中文乱码处理
- Linux可视界面中文乱码处理
- Linux环境下修改python matplotlib显示中文乱码方格
- 用dom4j创建xml(中文不会乱码)
- Linux下一系列基于Java的客户端程序的中文乱码问题的处理方法
- Linux下MySql的中文乱码处理-修改字符集
- Linux环境下BufferedImage Graphics drawString 中文乱码解决方法