如果问题只是关于欧元标志变得混乱 – 那就是程序
import java.io.*;
public class Foo {
public static void main (String args[])
throws Exception
{
System.out.println("\u20ac");
}
}
然后,您需要使Java发出的编码与显示Java输出的事物所期望的编码相匹配.我假设你在命令行工作.
>在Linux上,这应该工作.默认情况下,一切都是UTF-8.
>在Mac上,在Terminal.app中,这不起作用,因为出于某种疯狂的原因,Java的默认文本编码是没有欧元的ancient MacRoman character set.但是Terminal.app完全支持UTF-8.从技术上讲,您可以在终端→首选项→设置→高级→国际中关闭它,但默认情况下它是UTF-8.
要将java设置为使用UTF-8输出,可以传递命令行参数
java -Dfile.encoding=UTF-8 Foo
但这只有在你可以控制你的程序启动时才有效.如果您要发送JAR或.class文件供其他人运行,那将无效.您可以通过创建一个将使用不同编码写入System.out的对象来自行设置编码:
import java.io.*;
public class Foo {
public static void main (String args[])
throws Exception
{
PrintWriter out = new PrintWriter(
new OutputStreamWriter(System.out, "