[PHP-users 2129] 日本語のエンコードに関して。
竹本 靖
php-users@php.gr.jp
Tue, 18 Sep 2001 10:42:28 +0900
竹本@大阪です。
PHP3-3.0.15-i18n-ja でのスクリプトで日本語を扱っているのですが
次のような認識でよいのでしょうか?
ブラウザ未使用
http(in) 文字コード(不明)を送信
apache+php3 文字をEUC-JPに変換
http(out) 文字コード(SJIS)に変換して送信
ブラウザ使用
http(in) ブラウザが文字コード(SJIS)に変換して送信
apache+php3 文字をEUC-JPに変換
http(out) 文字コード(SJIS)に変換して送信
ブラウザから変数を受け取った時は正しくエンコードされる。
ブラウザ以外から変数を受け取った時は入力がSJISと認識されて
エンコードされる。
よって
enc_data = i18n_convert(in_data,'EUC-JP')
とすれば正しく処理できる。
これで正しいのでしょうか?
php コンパイルオプション
./configure \
--with-mysql=/usr/local/mysql \
--with-apxs=/usr/local/apache/bin/apxs \
--enable-track-vars --enable-i18n --enable-mbregex
php3.ini の内容(抜粋)
; internationalization
i18n.http_output = SJIS
i18n.internal_encoding = EUC-JP
i18n.script_encoding = auto
i18n.http_input = auto
i18n.http_input_default = SJIS