我刚刚使用:
NumberFormat cfLocal = NumberFormat.getCurrencyInstance(Locale.JAPAN.toString());
它在大多数设备/浏览器/货币上工作正常,除了在IE和Yen中我得到一些额外的字符 - 它可能是一个奇怪的编码被发送,还是浏览器特定的设置搞砸了¥符号的处理? / p>
输出如下:
ï¿¥15180
会感谢任何线索或提示。
修改 我正在使用JSP输出值。 JSP文件使用此前导码定义:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
答案 0 :(得分:1)
我不是编码专家,但是您的XML似乎只说了一件事,而您的内容类型另一个 - 尝试将两者都设置为UTF-8。
如果您的数据来自应用程序外部(例如数据库,文件等),那么源代码的编码是什么?例如,MySQL数据库可能指定了不同的字符集。
如果您使用像Apache这样的Web服务器,那是否会改变编码?例如,您可以使用httpd.conf指令来设置默认字符集:
AddDefaultCharset utf-8
值得检查浏览器中的HTTP标头,看看实际发送到浏览器的内容,并从那里开始工作。
修改
考虑更多,我不确定XML编码是否一定是问题。最好先检查标题,然后将其与正在生成的html进行比较。