我有以下简单的程序打印IPA字ˈabsəluːt
[1]。不幸的是,使用mvn:exec
执行此程序会将单词打印为?abs?lu?t
[2]。如何使其正确打印,即如[1]中所述?
package dp4j.encodingtest;
public class App {
public static void main(String[] args) {
String s = "ˈabsəluːt";
System.out.println(s);
FileUtils.writeStringToFile(new File("s.txt"), s);
}
}
mvn exec:exec
命令:
mvn "-Dexec.args=-classpath %classpath dp4j.encodingtest.App"
-Dexec.executable=C:\\jdk1.7.0_25\\bin\\java.exe exec:exec
即使将单词打印到s.txt文件也不会打印它,如[2]中所示。
答案 0 :(得分:1)
问题在于显示/打印该单词的应用程序,在本例中为控制台。除了确保你的java源代码编码是UTF-8(使用字符串文字)之外,没有什么可以从java / maven完成。
如果您是从IDE运行它,那么尝试将控制台字体从IDE的选项/首选项更改为“Lucida Sans”,因为此字体部分支持IPA扩展或其他一些支持IPA的可用字体。