cfFormMailerで文字化けします 【解決済み】
-
- メンバー
- 記事: 22
- 登録日時: 2012年9月06日(木) 15:54
cfFormMailerで文字化けします 【解決済み】
お世話になります。
cfFormMailer1.3betaをダウンロードし、CPIのレンタルサーバーにセットアップしたところ、
確認画面、及び送信されたメールの入力内容に文字化けが発生しました。(添付ファイル参照)
文字化け部分の文字コードはEUC-JPになっています。
サイト自身もcfFormMailerの設定についてもUTF-8で運用しているつもりです。
設置レンタルサーバーであるCPI自身が少し癖のある部分もあるので、
PHPのconfig内容も見直してみましたが、自分にはわかりませんでした。
解決策がありましたらご教授ください。
-----
ご利用のサーバ:CPI シェアードプラン
MODXのバージョン:1.0.7J-r1-b2
PHPのバージョン:5.3.6
MySQLのバージョン:5.5.14
ブラウザ:
-----
cfFormMailer1.3betaをダウンロードし、CPIのレンタルサーバーにセットアップしたところ、
確認画面、及び送信されたメールの入力内容に文字化けが発生しました。(添付ファイル参照)
文字化け部分の文字コードはEUC-JPになっています。
サイト自身もcfFormMailerの設定についてもUTF-8で運用しているつもりです。
設置レンタルサーバーであるCPI自身が少し癖のある部分もあるので、
PHPのconfig内容も見直してみましたが、自分にはわかりませんでした。
解決策がありましたらご教授ください。
-----
ご利用のサーバ:CPI シェアードプラン
MODXのバージョン:1.0.7J-r1-b2
PHPのバージョン:5.3.6
MySQLのバージョン:5.5.14
ブラウザ:
-----
- 添付ファイル
-
- test.jpg (17.39 KiB) 閲覧された回数 15084 回
Re: cfFormMailerで文字化けします
/index.phpの最終行付近に「if (!MODX_API_MODE) { 」という行があると思いますが、
上記の記述をその行の直前くらいに挿入してみると改善されるでしょうか?(もう少し前のタイミングでもいいですが)
コード: 全て選択
mb_internal_encoding($modx->config['modx_charset']);
-
- メンバー
- 記事: 22
- 登録日時: 2012年9月06日(木) 15:54
Re: cfFormMailerで文字化けします
ご返信ありがとうございます。
カレントのindex.phpのご指定の箇所にコードを挿入したところ、下記のエラーが発生しました。
ご確認くださいますようお願いいたします。
カレントのindex.phpのご指定の箇所にコードを挿入したところ、下記のエラーが発生しました。
ご確認くださいますようお願いいたします。
Warning: mb_internal_encoding() [function.mb-internal-encoding]: Unknown encoding "" in /usr/home/***********/html/index.php on line 142
Warning: Cannot modify header information - headers already sent by (output started at /usr/home/***********/html/index.php:142) in /usr/home/***********/html/manager/includes/document.parser.class.inc.php on line 3815
Undefined index: a
« MODX Parse Error »
MODX encountered the following error while attempting to parse the requested resource:
« PHP Parse Error »
PHP error debug
Error : Cannot modify header information - headers already sent by (output started at /usr/home/***********/html/index.php:142)
ErrorType[num] : WARNING[2]
File : /usr/home/***********/html/manager/includes/document.parser.class.inc.php
Line : 477
Source : header("Content-Type: {$type}; charset={$this->config['modx_charset']}");
Basic info
REQUEST_URI : /
Resource : [1]***********
Referer :
User Agent : Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0
IP : 180.***.***.***
Parser timing
MySQL : 0.0040 s (3 Requests)
PHP : 0.0166 s
Total : 0.0206 s
Backtrace
1 executeParser() index.php on line 144
2 prepareResponse() manager/includes/document.parser.class.inc.php on line 287
3 outputContent() manager/includes/document.parser.class.inc.php on line 406
4 header() manager/includes/document.parser.class.inc.php on line 477
Re: cfFormMailerで文字化けします
コード: 全て選択
mb_internal_encoding($modx->config['modx_charset']);
-
- メンバー
- 記事: 22
- 登録日時: 2012年9月06日(木) 15:54
Re: cfFormMailerで文字化けします
ご返信ありがとうございます。
ご指定の箇所にコードを挿入しましたが、挙動はかわりませんでした。
ご指定の箇所にコードを挿入しましたが、挙動はかわりませんでした。
yama さんが書きました:上記の行をcfFormMailerスニペットの先頭あたり(<?phpの後)に記述するとどうなりますか?コード: 全て選択
mb_internal_encoding($modx->config['modx_charset']);
Re: cfFormMailerで文字化けします
管理画面のレポート→システム情報→詳細情報に上記のような情報があると思います。ここのところはどうなってますか?mbstring
mbstring.detect_order
mbstring.encoding_translation 0
mbstring.func_overload 0
mbstring.http_input pass
mbstring.http_output pass
mbstring.internal_encoding
mbstring.language neutral
mbstring.strict_detection 0
mbstring.substitute_character
MySQLの文字コード情報
接続メソッド SET CHARACTER SET
文字セット照合順序 utf8_general_ci
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
character_sets_dir
-
- メンバー
- 記事: 22
- 登録日時: 2012年9月06日(木) 15:54
Re: cfFormMailerで文字化けします
お世話になります。
ご指摘いただいた確認項目で、
mbstring.internal_encodingの設定がEUC-JPとなっておりました。
設置先のレンタルサーバーであるCPIの初期設定がEUC-JPであったようで、
本当に初歩的な事で新年からご迷惑をおかけしました。
CPIのphp.iniの設定を任意に変更可能なので、そちらの項目をUTF-8に変更することで
状況は改善され、問題なくメールフォームから正常に送信することができました。
本当にありがとうございました。
ご指摘いただいた確認項目で、
mbstring.internal_encodingの設定がEUC-JPとなっておりました。
設置先のレンタルサーバーであるCPIの初期設定がEUC-JPであったようで、
本当に初歩的な事で新年からご迷惑をおかけしました。
CPIのphp.iniの設定を任意に変更可能なので、そちらの項目をUTF-8に変更することで
状況は改善され、問題なくメールフォームから正常に送信することができました。
本当にありがとうございました。
Re: cfFormMailerで文字化けします
php.iniの設定をmb_internal_encoding関数で上書きできると思ったのですが、今回はできなかったみたいですね。今後の開発の参考にさせていただきます
Re: cfFormMailerで文字化けします
コード: 全て選択
ini_set('mbstring.detect_order', 'UTF-8');
ini_set('mbstring.http_input' , 'pass');
ini_set('mbstring.http_output' , 'pass');
ini_set('mbstring.internal_encoding', 'UTF-8');
ini_set('mbstring.language', 'neutral');
同等の処理を今後システム本体にも組み込むよう考えてみます