我正在用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