【问题标题】:Strange Tomcat characterset translations奇怪的 Tomcat 字符集翻译
【发布时间】:2013-02-14 02:41:10
【问题描述】:

想不通。当我的 tomcat 应用程序发送电子邮件(Javamail API)时,“$”被替换为“¤”......

仅在 Linux 上。在 Windows 上它工作正常。

我到处都有 UTF-8 和语言环境 EN - 在 Javamail 代码中,在每个页面上,在应用程序配置中。我会认为 $ 将是 ascii 足以没有字符集问题。

例如

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

谁能建议其他地方看?我怀疑它不是字符集或语言环境...再说一次,它仅来自 Linux 服务器...

谢谢

【问题讨论】:

    标签: java jsp tomcat jakarta-mail


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      解决了!文字 $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"/>
      

      感谢您的帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-05-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-06
        • 1970-01-01
        • 2013-04-03
        相关资源
        最近更新 更多