播田と申します。 よく出る問題なのですが、いまいち良い方法が浮かばないので、、 VineLinux2.5で 藤本さんの 国際化版PHP php-4.2.3-multibyte.tar.gz を利用させて頂いております。 この国際化版で、IE&携帯対応のSJISでの処理を行いたいのですが、 方法を調べてみたところ ●「何もかもSJIS」 mbstring.internal_encoding = Shift_JIS mbstring.http_input = auto mbstring.http_output = pass mbstring.detect_order = auto mbstring.substitute_character = auto mbstring.script_encoding = Shift_JIS かつ、Postgresの接続時に $link=pg_pconnect(...); pg_exec($link,"SET CLIENT_ENCODING TO 'SJIS';"); を行っています。 この状態での問題点として \を含む日本語もクォートされてしまい、Postgres等のSQL文で パースエラーになります。(magic_quotes_gpc=on) 変数を扱う前に日本語部分の\を除去すればいいとおもうのですが 日本語部分の\を除去するのが複雑で挫折しました。 ●「スクリプトと出力はShift_JISだけど、データベースはEUC-JP」 mbstring.internal_encoding = EUC-JP mbstring.http_input = auto mbstring.http_output = Shift_JIS mbstring.detect_order = auto mbstring.substitute_character = auto mbstring.script_encoding = Shift_JIS この時 <form enctype="multipart/form-data" の場合、ファイル添付等以外の項目は 手動でSJISに変換してやる必要がある? 以前のVerで試した記憶だったんで、再度 4.2.3でmagic_quotes_gpc=on/offとあわせて 試してみたんですが、値がおかしい? 'ソ'=83 5c が 'ソ'=00 5c で表示されてました。 ※OS環境のせいかも。。。 SJIS出力でこれといった運用方法がありましたら、工夫を教えていただけると 助かります。 --- 関係ないですが http://snaps.php.net/ の php4-STABLE-200211101739.tar.gz あたりを試したら ext/mysql/libmysql/my_tempnam.c:103: the use of `tempnam' is dangerous, better use `mkstemp' と出ますが、無視しておけば、そのうち修正はいるのかな? -- net0@xxxxxxxxx