その他 > その他 > 何もしないのに突然文字化け |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
netopiton |
投稿日時: 2011/11/10 17:39
対応状況: −−−
|
新米 ![]() ![]() 登録日: 2010/5/20 居住地: 投稿: 6 |
何もしないのに突然文字化け ---------------------------------------------------------
[EC-CUBE]2.1.2 [レンタルサーバ]使えるネット [PHP]PHP 5.2.9 [データベース]MySQL 5.0.45 [WEBサーバ]Apache 2.0 [ブラウザ]Google chrome --------------------------------------------------------- ユーザー用ページのお問い合わせ等から入力したデータが、エラー・確認画面で再表示されると「?????」のように化けてしまいます。 管理画面での商品入力などでは問題ありません。 ユーザー用ページでPOSTされたデータのみ化けるようです。 特に何もしていないのに、ある日突然といった感じです。 PHP、TPLの文字コードはUTF-8でしたし、化けてしまうPHPに「echo mb_internal_encoding();」と入れてみたところ、UTF8が返ってきました。 .htaccessに php_value mbstring.script_encoding UTF-8 php_value mbstring.internal_encoding UTF-8 と書いて、化けてしまうPHPが入っているディレクトリにアップしてみても変化なしです。 どなたかお心あたりの方はおりませんでしょうか…。 どうぞよろしくお願いいたします。 |
seasoft |
投稿日時: 2011/11/13 18:02
対応状況: −−−
|
神 ![]() ![]() 登録日: 2008/6/4 居住地: 投稿: 7369 |
Re: 何もしないのに突然文字化け 詳細は失念しましたが、EC-CUBE は(内部ではなく)入力のエンコーディングが自動識別になっていたような気が。
最新版での状況は把握できていませんが、その辺りが何らかの原因で、自動認識を誤っているというのは考えられるかも。
|
netopiton |
投稿日時: 2011/11/14 16:05
対応状況: −−−
|
新米 ![]() ![]() 登録日: 2010/5/20 居住地: 投稿: 6 |
Re: 何もしないのに突然文字化け 返信ありがとうございます。
phpinfoで設定を確認したところ、mbstring.http_inputが「auto」になってました。 文字化けするphpディレクトリに「php_value mbstring.http_input pass」と記述したhtaccessを置いてみたところ、文字化けが解消しました。 ありがとうございました! ただ、何故急にこうなったのかは不明です。。 引き続き追ってみるつもりですが、取り急ぎご報告とお礼を申し上げます。 |
seasoft |
投稿日時: 2011/11/14 17:00
対応状況: −−−
|
神 ![]() ![]() 登録日: 2008/6/4 居住地: 投稿: 7369 |
Re: 何もしないのに突然文字化け 前の記事で書いた認識と実際は違っており、 SC_Initial#mbstringInit で「ini_set("mbstring.http_input", CHAR_CODE);」と指定していますね。
でも、mbstring.http_input って、実行時の変更は(可能だが)無視されたような。 なので、EC-CUBE の実装が誤りで、netopiton 様の方法が適切なようにも思えます。 ただ、モバイルサイトが関わるとちょっと複雑で、EC-CUBE は実装誤りのお陰で、正しく動作しているといった懸念もありますね・・・ とりあえず、備忘録の意味も含めチケットを発行して、追跡をしたいと思います。 http://svn.ec-cube.net/open_trac/ticket/1553
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |