hudson乱码

 
原文:http://blog.2ndboy.net/fix_messy_code_issue_of_hudson/
我的 Hudson 装在英文版的 Windows XP 里,但是有些 build tool 会输出中文,这样一来在查看 Hudson 的控制台输出(如:http://localhost:8080/job/test/1/console)时所有中文都变成了乱码。
  由于我不是搞 Java 的,所以没有看过 Hudson 的源码,但是从解决方案上来看,乱码的根本原因在于 Hudson 弄错了控制台数据的字符编码。如果你的 Hudson 也存在这个问题,那么首先可以进入“系统管理”->“系统信息”,看看“file.encoding”的值是不是“ Cp1252 ”,如果是的话那么你可以接着往下看:)

  file.encoding = Cp1252 意味着 Hudson 认为你的控制台输出数据是 Cp1252 编码,由于 Hudson 的 Web page 编码是 UTF-8 编码,所以 Hudson 会?⑹宰鲆桓? Cp1252 to UTF-8 的转换,把中文当作拉丁文来解读,其结果当然是错的了。解决方法如下:

1) 如果你是在命令行启动 Hudson 的(如:java -jar hudson.war),那么就给 java.exe 多传一个参数“-Dfile.encoding=gbk”(gb2312 也可以)

2) 如果你已经把 Hudson 安装成 Windows Service 了,那么打开 hudson.xml,把“arguments”节点的内容改成:
<arguments>-Xrs -Xmx256m -Dfile.encoding=gbk -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar “%BASE%\hudson.war” –httpPort=8080</arguments>

重启 Hudson 以后,再进入系统信息,可以看到 file.encoding 的值已经变成了 gbk 了。

你可能感兴趣的:(java,windows,service,XP,Build,hudson)