サポート » プラグイン » ContactForm7 1行に1000文字以上あると文字化け

  • 一行に1000文字以上の、改行のない文章を送信すると、文章が文字化けしてしまいます。
    Eメールの仕様のようですが、ContactForm7上で何か回避する方法はないでしょうか。
    送信時に自動で改行を挿入できればと思うのですが……

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • モデレーター Takayuki Miyoshi

    (@takayukister)

    そういった仕様は知りませんが、一行に1000文字以上で文字化けするというのは正確にカウントされたのでしょうか。文字化けというのはどのような文字化けですか? もう少し詳しくお願いします。

    勘ですけど、メールクライアントを換えてみたら直ったりしないでしょうか。

    モデレーター Takayuki Miyoshi

    (@takayukister)

    すみません、実際に手元で試してみたら、化けますね。失礼しました。

    おそらく WordPress のメール処理ライブラリで長い行の折り返し処理をしていて、文字の区切りが正しく行われていないのではないかと推測しています。何にしてもプラグイン側でどうこうすべきことではないのですが、少し調べてみますね。

    トピック投稿者 higeko

    (@higeko)

    質問するというのに、説明が圧倒的に足りませんでした、すみません。
    文字化けの仕方が違うのですが、どうもこちらと殆ど同じような状況のようです。
    http://ja.forums.wordpress.org/topic/8398?replies=5

    ・テキストエリアに改行なしで1000文字以上を入力。
    ・よくある文字コード絡みの文字化けでは見たことがないような、
     「01234567890123…」という全角数字の繰り返しで届く。
    ・1000文字以上入力していない項目は文字化けしていない。
     (つまり、メール全体が文字化けしているわけではない)
    ・受信はOutlookExpress、Thunderbird、Gmailで試しましたが同じ結果です。
    ・WPのバージョンは3.4.1、ContactForm7のバージョンは3.2、文字コードはUTF-8を使用しています。

    おそらく WordPress のメール処理ライブラリで長い行の折り返し処理をしていて、文字の区切りが正しく行われていないのではないかと推測しています。

    まさにそういう状況のようですね!
    JQueryで送信前に改行を入れたりできないものかと四苦八苦してみたりしていました。
    改行なしの1000文字の文章なんてなかなか遭遇しないシチュエーションなんですが…

    モデレーター Seisuke Kuraishi

    (@tenpura)

    2.1.1. Line Length Limits
    There are two limits that this standard places on the number of
    characters in a line. Each line of characters MUST be no more than
    998 characters, and SHOULD be no more than 78 characters, excluding
    the CRLF.

    http://www.faqs.org/rfcs/rfc2822.html

    998文字以内という決まりがあるようですね。

    ContactForm7 有り無し、WP Multibyte Patch 有り無し両方でテストしてみましたが、ローカルの wp_mail() の出力では文字化けしていないので、送信経路のどこかで上記制限に引っかかるのだと思います。

    データベースにフォームの内容を記録するプラグインを使えば恐らく文字化け前のデータを残すことは可能かと思いますがどうでしょうか。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「ContactForm7 1行に1000文字以上あると文字化け」には新たに返信することはできません。