/etc/init.d 字符编码问题

/etc/init.d 字符编码问题

我在 EC2 映像的 /etc/init.d 中有一个脚本,在机器启动时,该脚本通过 SVN 提取源代码,构建它,然后使用 Ant 运行它。源代码是 Java。此代码中调用了 Weka 库,该库将文件写入磁盘。在大多数 Ubuntu AMI 和我家用机器的 Ubuntu 版本上,都没有问题。

问题在于,对于某些版本的 Ubuntu/AMI,文件中的 Unicode 字符会被问号(“?”)替换。如果我在有问题的实例上手动运行该作业,Unicode 会正确输出到文件中,但从 /etc/init.d 运行时则不会。

什么原因可能导致了这个问题?我该如何修复它,以便 Unicode 字符能够正确显示在从 /etc/init.d 进程写入的文件中?

答案1

我要检查的第一件事是机器上的默认语言环境 - /etc/init.d 使用所有默认值运行,而不是每个用户语言环境。

相关内容