无法弄清楚这一点。当我的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服务器......
由于
答案 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"/>
感谢您的帮助。