java欧元货币输出符号位置_java – 使用unicode显示欧元符号并将字符更改为大写...

如果问题只是关于欧元标志变得混乱 – 那就是程序

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, "UTF-8"), true);

out.println("\u20ac");

}

}

只要你记得总是使用新的out变量进行打印而不是System.out.

>在Windows上它变得更疯狂.命令提示符下的默认编码因Windows的不同语言版本而异.在英文版的Windows上,它是Cp850.在俄罗斯的Windows上,它是Cp866.没有欧元符号!您可以使用chcp命令更改编码,但即使将其更改为具有欧元符号的编码,默认命令提示字体也不具有欧元符号!

您可以从Java检测到您在Windows命令提示符下运行,以编程方式更改编码和字体,然后输出您的字符串,但这是很多工作.你可能最好只使用上面的代码来强制输出UTF-8,并在你的代码中加入指令,如果要在Windows命令提示符下运行,那么用户首先需要:

>运行chcp 65001将命令提示符编码切换为UTF-8

>通过单击左上角的图标,选择“属性”,然后转到“字体”选项卡,将字体切换到Lucida控制台.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值