[PHP-users 13487] Re: mbstring.encoding_translationの設定

桝形 誠二 php-users@php.gr.jp
Fri, 21 Feb 2003 16:11:54 +0900


桝形です。

> >php_value mbstring.encoding_translation On( 出力はEUCのああ )
> >php_value mbstring.encoding_translation Off( 出力はSJISのああ )
> >php_value mbstring.encoding_translation 1( 出力はEUCのああ )
> >php_value mbstring.encoding_translation 0( 出力はSJISのああ )
> >
> >にしても、それぞれ期待の出力動作はしています( phpinfoの表示は除く )。
> 
> マニュアル(http://us2.php.net/manual/ja/ref.mbstring.php)に
> 
> > ・mbstring.encoding_translation は、 HTTP入力文字エンコーディング検出
> >  および内部文字エンコーディングへの変換 を有効にします。 
> 
> とあるので、これがONになっていると、Formなどから渡された文字が
> 内部エンコーディングに変換されるのでは?

書き方に誤解を感じさせたのかもしれません、すみません。

期待の出力動作というのは、Formなどから渡された文字が。。。
という訳ではなく、スクリプト内に記述されたマルチバイト文字の
自動変換の事を指しています。

SJIS.php( script.encoding SJIS・内部コード EUC・出力 無変換
          default_charset SJIS ):
<?
echo "あああああああああああああああ";
phpinfo( );
?>

php_value mbstring.encoding_translation On( 出力はEUCのああ )
ブラウザ上では「、「、「」となる。

php_value mbstring.encoding_translation Off( 出力はSJISのああ )
ブラウザ上では「ああ」となる。

php_value mbstring.encoding_translation 1( 出力はEUCのああ )
ブラウザ上では「、「、「」となる。

php_value mbstring.encoding_translation 0( 出力はSJISのああ )
ブラウザ上では「ああ」となる。

これは期待の動作です。
しかし、

php_value mbstring.encoding_translation On

では、phpinfoの表示では、Offとなっているのに、何故、スクリプトの
自動変換が行われているのか?という事です。

大変お手数ですが、よろしくお願いします。
_______________________

  桝形 誠二( Masugata Seiji )
  E-Mail : s.masugata@digicom.dnp.co.jp

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄