将tomcat作为服务启动时无效的变音字符

时间:2012-11-20 13:28:25

标签: java linux service character-encoding tomcat7

我的问题是当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 个答案:

答案 0 :(得分:0)

此处的解决方案来源:Utf-8 in tomcat

将属性-Dfile.encoding=UTF-8添加到CATALINA_OPTS变量或在运行时设置它。