sea*_*ges 106 java encoding ascii utf-8
我正在编写一个Java项目,在编译时发出以下警告:
/src/com/myco/apps/AppDBCore.java:439: warning: unmappable character for encoding UTF8
[javac] String copyright = "? 2003-2008 My Company. All rights reserved.";
Run Code Online (Sandbox Code Playgroud)
我不确定SO会如何在日期之前渲染角色,但它应该是版权符号,并在警告中显示为钻石中的问号.
值得注意的是,角色正确地出现在输出工件中,但警告是令人讨厌的,包含此类的文件可能有一天会被文本编辑器触及,这会错误地保存编码...
如何将此字符注入"copyright"字符串,以便编译器满意,并且该符号保留在文件中而没有潜在的重新编码问题?
小智 91
试试:javac -encoding ISO-8859-1 file_name.java
Jon*_*eet 55
使用"\ uxxxx"转义格式.
根据维基百科,版权符号为unicode U + 00A9,因此您的行应为:
String copyright = "\u00a9 2003-2008 My Company. All rights reserved.";
Run Code Online (Sandbox Code Playgroud)
Tho*_*ard 42
如果您正在使用Maven,请<encoding>在编译器插件的配置中明确设置,例如
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
nig*_*yop 30
这对我有帮助:
您需要做的就是指定一个名为JAVA_TOOL_OPTIONS的环境变量.如果将此变量设置为-Dfile.encoding = UTF8,则每次启动JVM时,它都会获取此信息.
资料来源:http://whatiscomingtomyhead.wordpress.com/2012/01/02/get-rid-of-unmappable-character-for-encoding-cp1252-once-and-for-all/
Alo*_*es5 20
把这行放在Java conf上面的yor文件.gradle中.
apply plugin: 'java'
compileJava {options.encoding = "UTF-8"}
Run Code Online (Sandbox Code Playgroud)
Luk*_*ski 10
如果您使用的是 Gradle,那么您可以找到应用 java 插件的行:
apply plugin: 'java'
Run Code Online (Sandbox Code Playgroud)
然后将编译任务的编码设置为 UTF-8:
compileJava {options.encoding = "UTF-8"}
Run Code Online (Sandbox Code Playgroud)
如果您有单元测试,那么您可能也想用 UTF-8 编译它们:
compileTestJava {options.encoding = "UTF-8"}
Run Code Online (Sandbox Code Playgroud)
这意味着整个 gradle 代码看起来像这样:
apply plugin: 'java'
compileJava {options.encoding = "UTF-8"}
compileTestJava {options.encoding = "UTF-8"}
Run Code Online (Sandbox Code Playgroud)
大多数情况下,编译错误是在unicode(UTF-8编码)文件编译时出现的
javac -encoding UTF-8 HelloWorld.java
Run Code Online (Sandbox Code Playgroud)
您还可以将此编译选项添加到IDE ex:Intellij idea
(文件>设置> Java编译器)添加为附加命令行参数

-encoding : encoding设置源文件编码名称,例如EUC-JP和UTF-8 ..如果未指定-encoding,则使用平台默认转换器.(DOC)
小智 5
这对我有用:
<?xml version="1.0" encoding="utf-8" ?>
<project name="test" default="compile">
<target name="compile">
<javac srcdir="src" destdir="classes" encoding="iso-8859-1" debug="true" />
</target>
</project>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
185030 次 |
| 最近记录: |