[PHP-dev 1457] Re: mbstring.internel_encoding の値が反映されない場合がある件(2)

Moriyoshi Koizumi mozo @ mozo.jp
2009年 3月 17日 (火) 20:59:17 JST


小泉です。

問題が解決できたようでよかったです。

> ただ,(PHP) プログラム冒頭で
>  ini_set("mbstring.internal_encoding", "UTF-8");
> とやって設定した場合は値は反映されないようです.

これはどういう意味でしょうか? プログラム中で ini_set() を使って mbstring.internal_encoding
を変更しても、そのエンコーディングにクエリ文字列が変換されないというような現象を指していますか? それとも単純に
mbstring.internal_encoding の設定を変更する際に mb_internal_encoding() の代わりに
ini_set() を使ったときに、値が設定されないというような状況が発生しているということでしょうか?

一応手元では

php.iniで
mbstring.internal_encoding=ISO-8859-1

あるいは .htaccess で
php_value mbstring.internal_encoding ISO-8859-1

などとしたときに

<?php
var_dump(mb_internal_encoding());
ini_set('mbstring.internal_encoding', 'UTF-8');
var_dump(mb_internal_encoding());
?>

以上のスクリプトが
string(10) "ISO-8859-1"
string(5) "UTF-8"
という結果を返すことは確認しています。


PHP-dev メーリングリストの案内