奇怪的Tomcat characterset翻译

时间:2013-02-14 02:41:10

标签: java jsp tomcat javamail

无法弄清楚这一点。当我的tomcat应用程序发送电子邮件(Javamail API)时,'$'将替换为'¤'...

仅适用于Linux。在Windows上它工作正常。

我在整个地方都有UTF-8和区域设置 - 在Javamail代码中,在每个页面上,在app config中。我本以为$ ascii足够不会出现字符集问题。

e.g。

Each    Price
¤99.97  ¤99.97
Subtotal:   ¤99.97
Shipping:   ¤10.00

有人可以建议去哪儿吗?我怀疑它不是charset或locale ......而且,它只是来自Linux服务器......

由于

2 个答案:

答案 0 :(得分:0)

如果您使用文字" $"发送简单消息在来自Java String对象的消息内容中,它仍然会失败吗?例如,msg.setText(" test $ 1")。如果你使用msg.writeTo(新的FileOutputStream(" msg.txt"))你看到了什么?

您使用的是什么版本的JavaMail。某些版本的Linux包含GNU版本的JavaMail,它有时会出现问题。

答案 1 :(得分:0)

解决!文字$ s还可以。原来是formatNumber标签。

我设置了页面字符集...

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

但忘记为taglib设置语言环境。

<fmt:setLocale value="en_US" scope="session"/>

<fmt:formatNumber value="${row.price}" type="currency"/>

感谢您的帮助。