记一次部署工程的时候遇到的问题
部署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的日志输出指定到文件,而不是在窗口输出具体方法如下:
- 修改startup.bat
把call “%EXECUTABLE%” start %CMD_LINE_ARGS%修改为call “%EXECUTABLE%” run %CMD_LINE_ARGS% - 修改catalina.bat
查找catalina.bat含有%ACTION%的4行内容(在文件末),在后面添加 >> %CATALINA_HOME%/logs/catalina.out