线上tomcat部署的项目,运行过程中,某一个表修改数据一直报错,在本地没事!查看控制台日志报错如下
org.springframework.http.converter.HttpMessageNotReadableException: JSON parse e
rror: Invalid UTF-8 middle byte 0x3f; nested exception is com.fasterxml.jackson.
databind.JsonMappingException: Invalid UTF-8 middle byte 0x3f
at [Source: (PushbackInputStream); line: 1, column: 73] (through reference chai
n: com.bj.bjmodularsys.entity.SysRoleEntity["name"])
错误中的重点部分是 :JSON parse error: Invalid UTF-8 middle byte 0x3f;
原因:编码不一致,tomcat 服务传输编码格式需指定为UTF-8
解决方案:
在 tomcat 的bin目录下的 catalina.bat 里增加 下面一句话
set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8