eclipse运行没问题,tomcat以脚本启动后插入数据库的中文会乱码

时间:2021-08-08 10:48:23

记一次部署工程的时候遇到的问题

部署war包到win7的时候发现,布上去后插入数据库的中文会乱码,然后发现用eclipse运行源码没问题,一开始以为是war打出来的时候编码错误,然后将eclipse的tomcat部署的地址改为tomcat的安装位置,然后以tomcat的startup.bat启动,发现以脚本启动的话插入数据库的中文会乱码,而用eclipse运行完全正常.

*** 解决方法 ***

编辑tomcat的startup.bat,在第一行的@echo off的下面增加下面的命令指定jvm启动的编码方式,

set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8

此时插入中文到数据库不会乱码了,但此时tomcat的显示窗口是乱码的,于是把tomcat的日志输出指定到文件,而不是在窗口输出具体方法如下:

  1. 修改startup.bat

    把call “%EXECUTABLE%” start %CMD_LINE_ARGS%修改为call “%EXECUTABLE%” run %CMD_LINE_ARGS%
  2. 修改catalina.bat

    查找catalina.bat含有%ACTION%的4行内容(在文件末),在后面添加 >> %CATALINA_HOME%/logs/catalina.out