【问题标题】:Invalid umlaut characters when starting tomcat as a service启动 tomcat 作为服务时出现无效的变音符号
【发布时间】:2012-11-20 13:28:24
【问题描述】:

我的问题是,当 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  

你能帮我解决这个问题吗?

【问题讨论】:

  • 你有LANG=en_US.UTF-8的/etc/environment吗?
  • /etc/environment 为空,但是我输入$> locale时系统的编码是LANG=en_US.UTF-8
  • 我认为这更多是属于serverfault的问题,因为它与编程无关。
  • 服务/cron 作业等可能没有该语言环境。但是@UwePlonus 的建议可能会更有成效,因为我在这些事情上那么很好。
  • 你说的都对,现在发布在 ServerFault redirect

标签: java linux service character-encoding tomcat7


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2014-08-30
    • 2021-10-12
    • 1970-01-01
    • 2017-11-03
    • 2020-07-26
    • 1970-01-01
    • 1970-01-01
    • 2011-05-20
    相关资源
    最近更新 更多