在linux服务上运行Java编码损坏?

我正在用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也testing…)。 我已经检查过il8n文件和区域设置,它被正确设置为ko_KR.eucKR。

有没有我可以改变的设置来获得这个权利?

检查您的交互式环境 – 与服务看到的相比较。

@外星生命形式

你完全指出我的解决方案。

在Restlet框架中编写的我的Web服务在作为linux服务启动时弄乱了字符编码(UTF-8),但在手动重启或在命令行上运行时很好。

看着Apache2文档(用作反向代理),并试图改变启动顺序,但没有任何工作。

现在我补充说

export LANG = en_US.UTF-8

到我的启动脚本

一切都像魅力一样 加泰罗尼亚语,西班牙语,德语,法语,现在都可以在服务器启动!

Thanx Marc