【问题标题】:How to change the defaults system java encode form in windows?如何在 Windows 中更改默认系统 java 编码形式?
【发布时间】:2012-03-12 04:55:08
【问题描述】:

当我尝试编译(使用 javac)时,一些 java 源文件包含一个注释行,其中包含一些无法识别的字符,如 ascii 代码 129 (~A),出现错误。

源代码如下所示:

 // ascii 129 is ? (Acutally it show ~A in VIM but show ? when I directly copy it here)

上面的代码行是注释,应该不会报错,但如果报错了,我想应该是jave encode形式的问题,请问如何解决?

谢谢。

【问题讨论】:

  • 129 不是有效的 ASCII 码。 ASCII 只上升到127。代码点 129 在 Unicode 是其超集的 ISO-8859-1 中也是保留和未定义的。它在Windows-1252 中也未定义,这在西方世界的计算机上的 Windows 上很流行。简而言之,它并不代表一些最流行的编码中的字符,所以我真的很好奇使用哪种编码来编码有问题的 Java 源文件。

标签: java javac encode


【解决方案1】:

看看这个答案。它对我有用,我不必再担心了 :) https://stackoverflow.com/a/623036/971592

【讨论】:

    【解决方案2】:

    选择正确的 java 源编码。 UTF-8 将是一个很好的需求标准。可以使用开源编辑器JEdit来测试源码到底是哪一种编码。java工具native2ascii可以转换。

    javac -encoding UTF-8 ...
    

    【讨论】:

    • 如何更改默认系统编码形式,这样我每次javec后不用加“-encoding xxx”?
    • 使用构建系统,例如简单的 maven,您可以在其中配置一次编码。像 NetBeans 这样的 IDE 将提供以某种编码方式进行编辑,并以某种方式进行编译。在某些非默认编码中进行编辑的问题似乎不值得更改 Windows 编码。您可以在 Windows .java 中将带有编码命令行参数的编辑器/编译器关联起来。
    • 我找到了一个解决方案,在Windows中,将系统变量JAVA_TOOL_OPTIONS设置为“-Dfile.encoding=UTF-8”,就可以了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-16
    • 2017-12-01
    • 2023-03-21
    相关资源
    最近更新 更多