2013-02-14 49 views
0

無法弄清楚這一點。當我的tomcat應用程序發送電子郵件(Javamail API)時,將'$'替換爲'¤'...奇怪的Tomcat字符集翻譯

僅在Linux上。在Windows上,它工作正常。

我已經在所有地方都有UTF-8和locale EN - 在每個頁面上的Javamail代碼中,在應用程序配置中。我會認爲$是足夠的ascii不會有字符集問題。

例如

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

任何人都可以建議在哪裏看?我懷疑這不是字符集或語言環境......再次,它只是從Linux服務器的...

感謝

回答

0

如果你發送一個簡單的消息,並在消息內容的文字「$」,來自Java String對象,它仍然失敗?例如,msg.setText(「test $ 1」)。如果你使用msg.writeTo(new FileOutputStream(「msg.txt」)),你會看到什麼?

你使用的是什麼版本的JavaMail。某些版本的Linux包括JavaMail的GNU版本,有時會出現問題。

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

感謝您的幫助。