バグ報告 > その他 > mail.ymlのcharset_iso_2022_jpをtrueにすると、マイページ>ご注文履歴のメール配信履歴が文字化けする |
その他
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
468 |
投稿日時: 2017/7/1 11:44
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: mail.ymlのcharset_iso_2022_jpをtrueにすると、マイページ>ご注文履歴のメール配信履歴が文字化けする /src/Eccube/Service/ShoppingService.php 1270行目付近で以下の処理でメール配信履歴を記録しています。
ここの$message->getSubject()と$message->getBody()を mb_convert_encoding($message->getSubject(), 'utf-8', 'jis') mb_convert_encoding($message->getBody(), 'utf-8', 'jis')のように文字コードを変換する処理を追加すれば文字化けは解消されるのでは無いでしょうか?
|
nanasess |
投稿日時: 2017/6/30 15:41
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2314 |
Re: mail.ymlのcharset_iso_2022_jpをtrueにすると、マイページ>ご注文履歴のメール配信履歴が文字化けする なるほどですね。ありがとうございます。
issues たててもらってるので、次のバージョンとかで修正されると思います https://github.com/EC-CUBE/ec-cube/issues/2402 |
kogay |
投稿日時: 2017/6/30 11:40
対応状況: −−−
|
新米 登録日: 2017/6/28 居住地: 投稿: 4 |
Re: mail.ymlのcharset_iso_2022_jpをtrueにすると、マイページ>ご注文履歴のメール配信履歴が文字化けする 大河内様
ご返答いただき、ありがとうございました。 ISO 2022-JP に変更している理由ですが、弊社は cross-mall というASP型の多店舗管理システムを用いて、EC-CUBE上の在庫と、その他楽天・ヤフーショッピング・Amazon等との在庫連動を行っています。 https://cross-mall.jp/ EC-CUBE側から cross-mall側へ注文情報を取り込む方法として、受注メールを用いておりますが、cross-mall側の仕様として、文字コードが ISO 2022-JP のメールでないと正常に取り込めないという問題があります。 弊社がメール送信時の文字コードとして ISO 2022-JP にこだわっている理由は以上となります。 以上、ご理解のうえご対応いただけると幸いです。 |
nanasess |
投稿日時: 2017/6/30 9:55
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2314 |
Re: mail.ymlのcharset_iso_2022_jpをtrueにすると、マイページ>ご注文履歴のメール配信履歴が文字化けする EC-CUBE3.0.11の修正で、多くの環境での文字化けが改善されました。
https://github.com/EC-CUBE/ec-cube/pull/1597 https://github.com/EC-CUBE/ec-cube/issues/1588 最近は UTF-8 が扱えないようなメーラーは皆無ですし、あえて ISO 2022-JP に変更する必要が薄いと考えているのですが、参考までに、 ISO 2022-JP に変更されている理由をご教授いただけませんでしょうか? |
kogay |
投稿日時: 2017/6/28 17:31
対応状況: −−−
|
新米 登録日: 2017/6/28 居住地: 投稿: 4 |
mail.ymlのcharset_iso_2022_jpをtrueにすると、マイページ>ご注文履歴のメール配信履歴が文字化けする [EC-CUBE] EC-CUBE 3.0.14(3.0.10よりアップデート)
[レンタルサーバ] kagoya [OS] Linux 2.6.32-696.1.1.el6.x86_64 [PHP] 5.6.30 [データベース] MySQL 5.6.36 [WEBサーバ] Apache/2.4.20 [現象] EC-CUBEから送信されるメールの文字コードを ISO-2022-JP にするために、mail.yml の charset_iso_2022_jp オプションを「true」にしました。 メールの文字コードは意図通りに ISO-2022-JP となったのですが、 マイページ>ご注文履歴 のメール配信履歴が文字化けしてしまいました。 メール配信履歴のDB保存先である dtb_mail_history.mail_body の中身も文字化けしています。 ちなみに、mail.yml の charset_iso_2022_jp オプションを「false」とすると、メール配信履歴は文字化けしないことは確認済みです。 おそらくなのですが、ISO-2022-JP に変換されたメールボディの文字列をそのまま dtb_mail_history.mail_body に保存しているからだと思います。保存前に UTF-8 に戻せば問題は解決するかと思います。 以上、バグ報告をさせていただきます。 ソースの修正箇所・方法をご教授くださいませ。 また、今後のバグフィックスでご対応いただければ幸いです。 |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |