プロが教える店舗&オフィスのセキュリティ対策術

[開発環境]
language : PHP Version 4.3.1
system : Windows NT localhost 5.1 build 2600(xp pro)
httpd : AN HTTP Daemon Version 1.42h
[本番環境](j-navi)
language : PHP Version 4.1.2
system : FreeBSD 4.5-RELEASE
httpd : apache_1.3.27

開発環境下で作成したスクリプトを本番環境に持っていくと、POSTされたデータが文字化けを起こします。$_POST[moji]で取得したデータをテキストファイルに吐き出す仕組みなんですが、どうもこの時点で既に文字化けを起こしているようなんです。文字化けを起こしたPOSTデータをテキストに吐くので、その後は文字化けを起こしたデータをそのまま読み出し綺麗にブラウザに表示します。
もちろん開発環境ではまったく問題なくスクリプトは動いています。

随分スクリプト自体は書けるようになってきたんですが、このあたりの設定といいましょうか、ダブルバイトの文字の扱いがよく理解できていません。
それゆえ、何の情報をお伝えすればよいのかも検討つきません。わかっているのは、文字化けをするそれだけなんです。

どうかヒントを下さい。アタリをつけることもできてないので本当に途方にくれています。よろしくお願いします。

Configure Command
'./configure' '--with-mysql=/usr/local/mysql' '--with-apache=../apache_1.3.27' '--enable-track-vars' '--enable-xslt' '--with-xslt-sablot' '--enable-mbstring' '--enable-mbstr-enc-trans'

magic_quotes_gpc on

http input encoding translation enabled

mbstring.detect_order no value
mbstring.http_input no value
mbstring.http_output no value
mbstring.internal_encoding no value
mbstring.substitute_character no value

A 回答 (2件)

$_POST[moji]


で受け取った時点で文字化けしているのであれば

送信フォーム側の文字コードと
表示側の文字コードが異なっている可能性が高いと思います

サーバにアップロードした段階で文字コードが
変わっている、改行コードが変わっていることはありませんか?

この回答への補足

お世話になります。
色々と試してみた結果、結局EUC-JP・SJISの問題でした。
本当にお世話おかけしました。ありがとうございました。

補足日時:2003/09/22 00:51
    • good
    • 0
この回答へのお礼

ありがとうございます。
これからEUCに全てコンバートかけて処理していきます。ただ、なんとなくうちのレンタル鯖の問題の気もしています。よそ様が作られたスクリプトも同様の動きをしていることが判明しました。 

お礼日時:2003/09/19 22:34

PHPでのマルチバイト文字関係の設定が、開発環境と本番


環境で異なっているためではないでしょうか?
これらの設定はPHPのconfigureスクリプトがあるトップ
ディレクトリに php.ini-distというファイルはありま
せんか?これを自分でコピーして、設定を行います。

マルチバイト関係の設定はせいぜい6個くらいしかありま
せんし、以下のURLにSJISの場合とEUCの場合の設定例が
書いてあります。

または手っ取り早く、本番環境からphp.iniをコピーして
くればよいのではないでしょうか?

参考URL:http://de3.php.net/manual/ja/print/ref.mbstring. …
    • good
    • 0
この回答へのお礼

ありがとうございます。
手っ取り早く、コピーしたいのですが、なにせレンタルなもので手が出せません。
バージョン等々の違いが顕著に影響するのは何とかして欲しいです。Perl5の方が楽ですよね。

お礼日時:2003/09/19 22:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!