`
kang
  • 浏览: 472544 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

通知メールで文字化け

    博客分类:
  • NBS
阅读更多

 

邮件乱码问题

 

 

通知メールで文字化け

通知邮件乱码

-》通知邮件中出现了乱码问题(20090511追加)。

 

通知(つうち): 通知

メール( mail ): 邮件

文字化け(もじばけ): 乱码

 

问题描述:

<!-- [if !supportLists]-->「①」   <!-- [endif]-->が「 ? 」に文字化けしている。

页面上的 ,在邮件中出现了乱码,变成了问号?

 

 

我的调查过程:

1.Debug, ,发现,取得的邮件内容中,①②之类的文字是能正确显示的。

            // メールの内容

            String content = mailTransformer.transform(mailData, stylesheetUrlForSuccess);

 

2. 因为此处的邮件发送是先将邮件信息(包括邮件 subject 、内容等)存储在数据库表,然后再搜表发信的。想到去数据库表中确认,发现此时存储的记录(邮件 内容)没有乱码。

 

3. 再次 debug ,发现,将邮件内容从数据库中拿出来之后,最后真正执行邮件发送时(下述代码所示), sender 中的邮件内容还没有乱码,正常显示。

        // 送信する

        jp.co.×××.×××.mail.MailSender sender = new JavaMailSender(mail);

        try {

            sender.send();

        。。。。。。 
 

 

问题的 焦点集中到了 件在网 传输过 程中采取何 种编码

1. 调查 Intra-Mart API ,关于 StandardMail (说明了配置文件的位置和设置相关)。

jp.co.intra_mart.foundation.mail.javamail
クラス StandardMail

<!--   [if gte vml 1]><v:shapetype
   id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
   path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
   <v:stroke joinstyle="miter"/>
   <v:formulas>
    <v:f eqn="if lineDrawn pixelLineWidth 0"/>
    <v:f eqn="sum @0 1 0"/>
    <v:f eqn="sum 0 0 @1"/>
    <v:f eqn="prod @2 1 2"/>
    <v:f eqn="prod @3 21600 pixelWidth"/>
    <v:f eqn="prod @3 21600 pixelHeight"/>
    <v:f eqn="sum @0 0 1"/>
    <v:f eqn="prod @6 1 2"/>
    <v:f eqn="prod @7 21600 pixelWidth"/>
    <v:f eqn="sum @8 21600 0"/>
    <v:f eqn="prod @7 21600 pixelHeight"/>
    <v:f eqn="sum @10 21600 0"/>
   </v:formulas>
   <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
   <o:lock v:ext="edit" aspectratio="t"/>
  </v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" alt="拡張" style="width:11.25pt;
   height:10.5pt" mce_style="width:11.25pt;
   height:10.5pt">
   <v:imagedata src="file:///C:\DOCUME~1\JUKEY~1.WIC\LOCALS~1\Temp\msohtml1\01\clip_image001.gif" mce_src="file:///C:\DOCUME~1\JUKEY~1.WIC\LOCALS~1\Temp\msohtml1\01\clip_image001.gif"
    o:href="http://www.intra-mart.jp/apilist/v50/doclet/foundation/resources/inherit.gif"/>
  </v:shape><![endif]--><!--   [if !vml]-->拡張
<!--   [endif]-->jp.co.intra_mart.foundation.mail.javamail.StandardMail

 

public class StandardMail

extends Object

送信するメールの属性を保管します。
このオブジェクトが保持するメールのキャラクターセット、エンコディングの設定は ロケールに依存します。

ロケール毎の設定は定義ファイルをにより決定されます。
ServerManager 上に /conf/mail/encode.properties として、定義ファイルを配置してください。
指定可能なキーの一覧

charset

キャラクターセット

mimeEncoding

MIME エンコード (B or Q)

contentTransferEncoding

ボディのエンコード

導入されたバージョン :

5.0

関連項目 :

JavaMailSender

 

-》服务器上的/conf/mail目录下的encode.properties文件,请在这个定义文件中进行(字符编码)设置。(20090511追加)

 

 

2. 在网上找到这样一篇文章《 如何 理日文系 中的 NEC 拡張字 》:

从这上面得到这样的信息: ② ③ NEC拡張 字,在 Shift_JIS 中不支持(无法显示),在 Windows-31J 支持显示。

 

3. 找到 C:\imartDebug\conf\mail 文件 ,有 encode_ja_JP.properties encode_ja.properties 文件

-》这是本地mail发送字符编码的设定文件夹(20090511追加)

 

尝试在这两个 mail 配置文件上打字符集设置的主意。

 

1. 经测试(每次修改后都要重新启动服务器,有点小麻烦),跟 encode_ja.properties 文件 没什么关系,转向专攻 encode_ja_JP.properties 文件 。原先该文件中的设置如下: charset=iso-2022-jp

先后尝试过 Shift_JIS Windows-31J ,都不行,要么是全部乱码,要么是 乱码问题也没有解决。

 

2. 根据 API 中的描述,也尝试了将 mimeEncoding B 修改成 Q ,还是没有效果。

 

最终问题解决:将 charset 改成 UTF-8 ,重启服务器,测试发信,收信,乱码没有了, OK ,问题解决!

UTF Unicode Transformation Format),果然名不虚传!

 

 -》当邮件在网络中进行传输时,字符编码采用统一字符编码格式 UTF-8,能解决收到的邮件中可能出现乱码的问题。(20090511追加)

 

 

分享到:
评论

相关推荐

    Lightning ComponentにおけるApexCallsの汎用化

    以下は、フィルター文字列を受け取り、それに基づいてSOQLクエリを実行し、Accountオブジェクトのリストを返すシンプルなメソッドです。 ```java public class GeneralizationSampleCtrl { @AuraEnabled public ...

    web安全概要

    メールヘッダ・インジェクションは、メールのヘッダ情報を操作することで、攻撃者が偽装メールを送信したり、サーバーリソースを悪用したりする攻撃です。対策としては、メールのヘッダ情報を適切に検証し、不正な値...

    图片-》文字化转换器

    将一个图片转换成文字组成的哦 利用ASCII代码

    office中的日语

    罫線 (表格)、ツールバー (工具栏)、ルーラー (标尺)、段落記号 (显示段落标记)、グリッド線 (网络线)、見出しマップ (文档结构图) 图片和图形 ヘッダーとフッター (页眉和页脚)、ヘッダー (页眉)、フッター (页脚...

    Android代码-縦書きプレビュー for Jota

    vertical-text-viewer ...フォントの種類・サイズ・折り返し文字数・ルビ種別を設定できます。 そのうちやりたい> Jota のカーソル位置にジャンプ こちらのAndroid向け縦書き表示ライブラリを元に開発しています。 ...

    安全SQL的呼出方法

    - **4.1 文字列連結にquoteメソッドを使う**:quoteメソッドを使用することで、文字列リテラルが適切にエスケープされ、SQL文内の位置が明確になります。 - **4.2 データベースと連動した動的プレースホルダ**:デー...

    pstdn:ポストドン。スクリプト経由でmastodonに文字列トゥートできます(るび〜处女作)

    あくまで文字トゥートができればそれでよかったのでそれ其他実装していません画像トゥートできるようにもしたいけどやる気次第ですです自分の技术力不足,及び例外を一切考虑していない雑な设计のため不具合合が绝対...

    行政基本情報データ連携モデル-住所1

    - ヘボン式ローマ字を使用し、その際のルールには以下が含まれます。 - 「ん」は「n」に表す。 - 「n」がはねる音を示す場合、ハイフン('-')を挿入します。 - つまる音は、次の音節の最初の子音を重ね表示します...

    Excel版甘特图软件 Ver1.06

    ・右クリックメニュー、ツールバー設定(表示文字、アイコン) ◆動作環境 ・Microsoft ExcelがインストールされているPCで動作します。 ・Microsoft Office2002/2003で動作確認済みです。 ◆注意事項 カレンダー...

    ShukuSen.exe

    『ファイル名を変更して保存』… 現在のファイル名の前か後ろに指定された文字をくっつけて、 元画像がある場所と同じ場所に保存します。 『フォルダを作って保存』… 元画像があるフォルダに指定された名前のフォル...

    问卷:PHPリジナルアプリログイン机能のついたアンケートアプリ〜PHPとMySQLの基础を使ってVer.2〜

    文字列・メールアドレスなどのバリデーション XSS対策,CSRF対策など最低限のセキュリティ アンケートに答えると,登录されているスタッフのステータスが変化 私されるいてきた职场では,アンケートやシフトの希望を...

    toEmoji:日本语文を絵文字だけの文に変换するなにか

    到表情符号与えられた日本语文をそれらしい絵文字だけの文に変换するコンソールアプリケーション描述入力された日本语文を形态素解析し,意味のある単语を抽出する。そして,抽出された単语と絵文字と意味の一対一表...

    BrainTsusu:「つ」「す」「う」の三文字だけでProgrammingができちゃう!

    补脑「つ」「す」「う」の三文字だけでProgrammingができちゃう! → 优点単にログラムでも伝言ムでも伝きる!(简単にとは言ってない)怎么写Brainf * ckの各记号を置き换えただけです。详しくはそちらをば。対応表...

    excel函数日文版

    15. **RTDCOM**: オートメーションに対応するプログラムからリアルタイムのデータを取得します。例えば、株価情報などのリアルタイムデータ取得に使用されます。 16. **TRANSPOSE**: 配列で指定された範囲のデータ...

    バンジーHY-crx插件

    ツイキャスの拡張機能です。...・キャスコメとチャットを同一ページで閲覧可(※NR限定) ・配信スケジュール閲覧可(※NR限定) ・おすすめLIVEを小窓で視聴可 ・フルスクリーンモード実装 支持语言:日本語

    计算机有关的日语单词(WORD)

    - メール (meiru):メール(Email) - 受信トレイ (jushin torei):受信トレイ(Inbox) - 差出人 (sasshutsu nin):差出人(Sender) - 送信 (songen):送信(Send) - 反応 (han'i):反応(Reply) - 追加受...

    凸面管理

    クラバトのルール说明(クランメンバー向け)クラバトのルールについての说明です。クランメンバーの方はご确认お愿いします。クラバト进行の说明(より详细な说明)クラバト进行についての详细な说明です。クラバト...

    电脑用语(日语).doc

    47. **文字化け (Mangled Text)**: 在不兼容编码系统中显示的乱码。 48. **フォーラム (Forum)**: 在线讨论平台,用户可以发布主题并进行讨论。 49. **パルス (Pulse)**: 电信号的周期性变化,常用于传输信息。 ...

    Excel 関数の利用

    また、条件付書式設定では、セルのフォーマット(色や書式など)を条件に基づいて変更することができます。例えば、総合点が400点を超える数値を赤色に、200点以上を青色に、それ未満を黒色に設定するには以下の手順...

    初心者用perl講座(日语版)

    Perl は単純なテキスト処理だけでなく、ウェブプログラミングやシステム管理、データ分析にも広く利用されています。 #### 1. 文字列の表示 まず、基本的な Perl スクリプトを作成し、文字列を表示させる方法を学...

Global site tag (gtag.js) - Google Analytics