php.ini の mbstring.encoding_translation が反映されない
さくらインターネットで独自にPHP5を導入しました。
マルチバイトの処理"mb_convert_encoding"を実行したところ、文字化けしたままの状態です。
■phpinfo()で確認したところ、下記の通りとなっています。
-------------------------------------------------------------
Multibyte Support enabled
Multibyte string engine libmbfl
Multibyte (japanese) regex support enabled
Multibyte regex (oniguruma) version 4.4.4
Multibyte regex (oniguruma) backtrack check On
mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.
Directive Local Value Master Value
mbstring.detect_order auto auto
mbstring.encoding_translation Off Off
mbstring.func_overload 0 0
mbstring.http_input auto auto
mbstring.http_output SJIS SJIS
mbstring.internal_encoding EUC-JP EUC-JP
mbstring.language Japanese Japanese
mbstring.strict_detection Off Off
mbstring.substitute_character no value no value
--------------------------------------------------------------
■php.iniの内容は下記の通りです。
--------------------------------------------------------------
output_handler = mb_output_handler
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translastion = On
mbstring.detect_order = auto
mbstring.substitute_character = none;
--------------------------------------------------------------
■PHP5をインストールするときの、conf.sh の内容は下記の通りです。
--------------------------------------------------------------
#!/bin/sh
./configure \
--prefix=$HOME \
--with-config-file-path=$HOME/www/cgi-bin \
--program-suffix=5 \
--with-pear=$HOME/share/pear5 \
--enable-force-cgi-redirect \
--enable-mbstring=all \
--enable-mbregex \
--enable-mbstr-enc-trans \
--enable-versioning \
--enable-trans-sid \
--with-mysql \
--with-openssl=/usr \
--with-soap=yes \
--with-zlib=/usr \
--with-gd=/usr/local \
--with-jpeg-dir=/usr \
--with-freetype-dir=/usr \
--with-ttf \
--with-png-dir=/usr \
--with-curl
--------------------------------------------------------------
■疑問点
php.ini で設定した、
mbstring.encoding_translastion = On
が反映されていないことがphpinfo()を見ることでわかりました。
phpinfo()で表示される、Configuration File (php.ini) Path は
設定したphp.ini を指しているので、異なるphp.iniを参照しているわけではないと考えています。
ちなみに、php.ini で、上記のマルチバイト関連のオプション設定をしないときのphpinfo()の内容は下記の通りです。
Multibyte Support enabled
Multibyte string engine libmbfl
Multibyte (japanese) regex support enabled
Multibyte regex (oniguruma) version 4.4.4
Multibyte regex (oniguruma) backtrack check On
mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.
Directive Local Value Master Value
mbstring.detect_order no value no value
mbstring.encoding_translation Off Off
mbstring.func_overload 0 0
mbstring.http_input pass pass
mbstring.http_output pass pass
mbstring.internal_encoding ISO-8859-1 no value
mbstring.language neutral neutral
mbstring.strict_detection Off Off
mbstring.substitute_character no value no value
なぜ、mbstring.encoding_translastion が反映されないのか、どこかで上書き設定されてしまうのか、他に設定すべきオプションがあるのか、教えていただけないでしょうか。
お礼
ご回答ありがとうございました。 さっそくyum innstall php-mbstringでやってokでした。 迅速で適切なご回答ありがとうございました。