JackSon解析json中文出现的编码问题
2018-03-09 00:47
2301 查看
项目使用了SpringMVC框架,使用@RequestBody交互数据的时候出现了下面的异常:
很明显是JackSon解析json出现了编码问题。
原因是而json字符串的分隔符必须是英文标点,当json字符串中含有中文时,使用jackson解析会出异常。
目前有两种解决方式:
第一种方式:
在服务器中修改JVM配置:
tomcat:
在catalina.bat文件中:
windows
set JAVA_OPTS = -Dfile.encoding=UTF-8 -Duser.language=zh -Duser.region=CN -Dsun.jnu.encoding=UTF-8
linux
JAVA_OPTS = “-Dfile.encoding=UTF-8 -Duser.language=zh -Duser.region=CN -Dsun.jnu.encoding=UTF-8”
比如:
打开catalina.bat文件 打开后会从第一行开始注释,从上往下找到第一行没有注释的,在其上方,添加
weblogic:
windows
set JAVA_OPTIONS = -XX:MaxPermSize=256m -Xmx1024m -Dfile.encoding=UTF-8 -Duser.language=zh -Duser.region=CN -Dsun.jnu.encoding=UTF-8
linux
JAVA_OPTIONS = “-XX:MaxPermSize=256m -Xmx1024m -Dfile.encoding=UTF-8 -Duser.language=zh -Duser.region=CN -Dsun.jnu.encoding=UTF-8”
export JAVA_OPTIONS
修改完成后启动项目,看日志的前几十行,会有:
即修改完成,问题解决!
不过还有个比较坑的是,如果你是用的eclipse的话,你还需要设置:
这是因为eclipse中创建tomcat会自动创建一个配置的项目出来的,所有启动的配置都会读取那个项目的,一般eclipse全局改了为utf-8编码就会默认这里也是utf8的。
第二种方式:
就是将字符串进行编码修改了,比如:
后面再该怎么传就怎么传。
这个问题还有个注意点就是不要和post/get请求的那种编码问题搞混了。
很明显是JackSon解析json出现了编码问题。
原因是而json字符串的分隔符必须是英文标点,当json字符串中含有中文时,使用jackson解析会出异常。
目前有两种解决方式:
第一种方式:
在服务器中修改JVM配置:
tomcat:
在catalina.bat文件中:
windows
set JAVA_OPTS = -Dfile.encoding=UTF-8 -Duser.language=zh -Duser.region=CN -Dsun.jnu.encoding=UTF-8
linux
JAVA_OPTS = “-Dfile.encoding=UTF-8 -Duser.language=zh -Duser.region=CN -Dsun.jnu.encoding=UTF-8”
比如:
打开catalina.bat文件 打开后会从第一行开始注释,从上往下找到第一行没有注释的,在其上方,添加
weblogic:
windows
set JAVA_OPTIONS = -XX:MaxPermSize=256m -Xmx1024m -Dfile.encoding=UTF-8 -Duser.language=zh -Duser.region=CN -Dsun.jnu.encoding=UTF-8
linux
JAVA_OPTIONS = “-XX:MaxPermSize=256m -Xmx1024m -Dfile.encoding=UTF-8 -Duser.language=zh -Duser.region=CN -Dsun.jnu.encoding=UTF-8”
export JAVA_OPTIONS
修改完成后启动项目,看日志的前几十行,会有:
即修改完成,问题解决!
不过还有个比较坑的是,如果你是用的eclipse的话,你还需要设置:
这是因为eclipse中创建tomcat会自动创建一个配置的项目出来的,所有启动的配置都会读取那个项目的,一般eclipse全局改了为utf-8编码就会默认这里也是utf8的。
第二种方式:
就是将字符串进行编码修改了,比如:
byte[] strArray = jsonData.getBytes("utf-8")
后面再该怎么传就怎么传。
这个问题还有个注意点就是不要和post/get请求的那种编码问题搞混了。
相关文章推荐
- iOS 中json解析数据出现中文乱码的问题
- iOS json解析数据中文出现乱码的问题
- iOS 中json解析数据出现中文乱码的问题
- iOS 中json解析数据出现中文乱码的问题
- iOS 中json解析数据出现中文乱码的问题
- iOS 中json解析数据出现中文乱码的问题
- 使用volley请求数据,Gson解析json的时候出现中文乱码问题
- 解决如source insight等软件由于编码格式不一样出现中文乱码显示问题
- ios中json解析出现的null问题
- QT realse程序出现图片,数据库,中文编码问题
- PHP中json_encode中文编码的问题_学习
- 【nodejs】json value出现 undefined 将会无法解析 问题来了
- iOS在json解析中出现的类似小数溢出的问题
- 字节流(InputStream)输入中文汉字到控制台出现乱码的问题解析
- 关于使用Tomcat搭建的Web项目,出现 URL 中文乱码的问题解析
- 关于网站编码显示问题 效果是 访问 带有中文注释的sass文件出现编码报错。
- PHP中遇到BOM、<feff>编码导致json_decode函数无法解析问题
- mysql客户端插入中文数据出现的编码格式问题
- php中json_encode中文编码问题分析
- java web,charset编码设置正确情况下出现部分中文正常,部分中文乱码的问题