欧元符号的转换

时间:2014-09-17 18:35:36

标签: java unicode ascii currency euro

在我的网络应用程序中,欧元(€)符号正在转换为问号(?)。它建立在Java之上。代码很好但是在WAS 6.0上部署EAR时有时它工作正常,但有时它将€转换为?。

这与ASCII转换有关吗?如何解决这个问题?

提前致谢!

2 个答案:

答案 0 :(得分:4)

现在可以使用或(u-escaped)"\u20AC"

网页必须在ISO-8859-1中编码,而是以UTF-8编码。让我们假设。

在java源文本中用作,编辑器编码和javac编译器编码必须是UTF-8。

在JSP中使用编码也必须是UTF-8,但现在jspc编译器在最终服务器上运行,并且必须使用UTF-8。

仍然是编码必须适合的数据库。

存在UTF-8的替代编码,但存在问题。 ISO-8859-15左右有欧元符号,但没有ISO-8859-1的所有字符,因为所有浏览器(但不是java)都将ISO-8859-1(Latin-1)解释为Windows-1252(Windows Latin-1)有更多字符,如逗号,如引号和特殊连字符。自HTML 5以来,这成为了必需的标准。

Windows-1252是唯一合理的编码替代方案,但仅涵盖几种欧洲语言。在执行

时,代码为0x80(128)
byte[] cp1252 = "\u20AC".getBytes("Windows-1252");
// { -128 }

错误的来源可能源于在Windows中复制。

答案 1 :(得分:0)

你应该html-escape特殊字符。例如:

€ = €

这样你就可以在你的HTML中使用简单的ascii,而不必担心编码。