Internet Explorer中的货币格式化日元有额外的符号“ï¿¥”

时间:2012-10-31 01:00:21

标签: java internet-explorer jsp character-encoding

我刚刚使用:

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"%>

1 个答案:

答案 0 :(得分:1)

我不是编码专家,但是您的XML似乎只说了一件事,而您的内容类型另一个 - 尝试将两者都设置为UTF-8。

如果您的数据来自应用程序外部(例如数据库,文件等),那么源代码的编码是什么?例如,MySQL数据库可能指定了不同的字符集。

如果您使用像Apache这样的Web服务器,那是否会改变编码?例如,您可以使用httpd.conf指令来设置默认字符集:

AddDefaultCharset utf-8

值得检查浏览器中的HTTP标头,看看实际发送到浏览器的内容,并从那里开始工作。

修改

考虑更多,我不确定XML编码是否一定是问题。最好先检查标题,然后将其与正在生成的html进行比较。