我的问题是,当 Tomcat 作为服务启动时,应用程序页面 (WAR) 中的变音字符无法正确呈现,但当我手动启动服务器时,一切看起来都很好。我检查了系统的编码 (en_US.UTF-8),它在两种情况下都应该正常工作。
/etc/init.d/tomcat7
#!/bin/bash
# description: Tomcat Start Stop Restart
# processname: tomcat
# chkconfig: 234 20 80
JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CATALINA_HOME=/opt/tomcat
case $1 in
start)
sh $CATALINA_HOME/bin/startup.sh
;;
stop)
sh $CATALINA_HOME/bin/shutdown.sh
;;
restart)
sh $CATALINA_HOME/bin/shutdown.sh
sh $CATALINA_HOME/bin/startup.sh
;;
esac
exit 0
你能帮助我解决这个问题吗?
答案1
解决方案来源在这里:tomcat 中的 UTF-8
将该属性添加-Dfile.encoding=UTF-8
到 CATALINA_OPTS 变量或在运行时设置它。