在将此标记为重复之前,请先回答此问题。我一直在搜索,并且无法用之前相关问题的答案来解决这个问题。
我有一个在控制台上打印文本的Java程序。在我对Eclipse的测试中,文本是可读的。但是,此Java程序旨在由Unix作业调用。但是当我打开作业日志时,文字是不可读的。
d^@^C????^D^F?`^T??Q0(????c?Z1?^
我试图通过在Sysout上定义字符编码来改变我在Java中的代码,但下面的代码都没有工作。
System.setOut(new PrintStream(System.out, true, "ASCII"));
System.setOut(new PrintStream(System.out, true, "UTF-8"));
作业日志采用ASCII格式。
$file myFile.txt
myFile.txt: ascii text
答案 0 :(得分:0)
无法发表评论,所以我写了一个"答案"。 对于运行程序的JavaVM的编码可能存在问题。
您可以通过设置编码参数来更改它:
-Dfile.encoding=UTF-8
-Dfile.io.encoding=UTF-8
-DjavaEncoding=UTF-8
将UTF-8替换为您要使用的编码。