我正在运行带有CentOS 6.3的java服务器.
我的问题是,在服务上运行jar文件时,韩文(EUC-KR,UTF-8)编码不正确.当我简单地运行"java -jar example.jar"时没有问题.
如果我在服务上运行类似的命令,打印的文本(只有韩文,英文工作正常)变成全部"???".
这是我的服务脚本的样子.
start(){ nohup java -jar example.jar > /root/nohup.txt 2>&1& } restartDevelop(){ killall -9 java java -jar example.jar }
甚至在nohup上打印的文本在服务上运行时也会被破坏.("nohup java -jar example.jar"工作正常)
我已经尝试设置"-Dfile.encoding = EUC-KR",设置"new String(message.getBytes("EUC-KR"),"EUC-KR")".似乎没有什么工作(用UTF-8测试......).我检查了il8n文件和语言环境,并将其正确设置为ko_KR.eucKR.
有什么设置我可以改变来做到这一点吗?
@ Alien Life Form
你完全指出了我的解决方案.
我在Restlet框架内编程的Web服务在作为linux服务启动时搞乱了字符编码(UTF-8),但在手动重启或在命令行上运行时很好.
看看Apache2文档(用作反向代理)并尝试更改启动顺序但没有任何效果.
现在我补充道
export LANG = en_US.UTF-8
到我的启动脚本
一切都像魅力一样.加泰罗尼亚语,西班牙语,德语,法语,现在服务器启动都可以!
Thanx Marc