在Linux服务上运行时,Java编码是否已损坏?

 Jerrefy是不会游泳的鱼_177 发布于 2023-02-06 14:43

我正在运行带有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.

有什么设置我可以改变来做到这一点吗?

1 个回答
  • @ Alien Life Form

    你完全指出了我的解决方案.

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

    看看Apache2文档(用作反向代理)并尝试更改启动顺序但没有任何效果.

    现在我补充道

    export LANG = en_US.UTF-8

    到我的启动脚本

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

    Thanx Marc

    2023-02-06 14:46 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有