• 締切済み

php で外字を扱う

以下の環境で、システムを開発しています。 OS = Windows2000 SP4 Apache = 2.0.58 PHP = PHP 5.1.6 magic_quotes_gpc = Off mbstring.language = Japanese mbstring.internal_encoding = SJIS mbstring.http_input = auto mbstring.http_output = SJIS mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none; このような設定で、コードはSJISで書いています。 外字エディタで外字が登録してあります。 この外字をフォームから、POSTで受取たいと思っていますが、 外字の部分だけが、文字化けしてしまい、どうしたものかと思案中です。 何か、良い考えはないでしょうか? ただ、システムの大部分はこの設定で出来上がっているため 大まかな設定の変更はおそらく無理だろうと思います。 すいませんが、何か思いあたる方は返答お願いします。

みんなの回答

回答No.1

あまりエレガントじゃなさそうですが、 php://inputからクエリデータを受け取ると、デコード前の純粋なデータが取得できるかと思います。 $_s = file_get_contents("php://input"); $_data = urldecode($_s); こんなので取得できるんじゃないかと思います。

donne-moi
質問者

お礼

回答ありがとうございます。 実は、別の方法で解決していました。 フォームに enctype="multipart/form-data" をつけることで、送信データが添付ファイルとして送られ、 デコードせずに受け取ることができました。