あなたの習慣について教えてください!!

以下の環境で、システムを開発しています。
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で受取たいと思っています。

さきほども似たような内容で質問しました。
その後、いくつか分かったことがあるので、質問しなおします。
POSTする文字列が、
・外字一文字の場合
・先頭が外字の場合
は、化けないことが分かりました。
つまり、なんらかの文字列の間に文字列が入ると化けるのです。(化けないこともあります。)たぶん周りの文字を巻き込んでしまうのだと思います。
何か解決方法に心あたりないでしょうか?

A 回答 (1件)

外字(ユーザ定義文字)は、SJISではサポートされていません。


(SJIS-winというエンコーディングではサポートされています)。
ですので、その環境ではうまくいかないと思います。うまくいくケースがあったとしても、たまたまです。

恐らく、入力時・出力時に文字コード変換をしないよう、PHPを設定するのが良いと思います。

#「PHP 絵文字 携帯」などのキーワードでネット検索すると、PHPで外字を扱うための情報が得られるかもしれません。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。

フォームに
enctype="multipart/form-data"
をつけることで、何とかなりました。

お礼日時:2007/01/11 10:10

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


おすすめ情報