[PHP-users 20797]Re: Spreadsheet_Excel_Writer/iniのoverloadに影響されない方法は?

"こうちゃ@フリーメール" kohcha @ mx1.freemail.ne.jp
2004年 3月 15日 (月) 10:59:28 JST


こうちゃともうします。

クラスで提供されている、Spreadsheet_Excel_Writerで出力結果を認識出来ず、
php.iniのmbstring.func_overloadを0に設定して、上手くいきました!

ただ、mbstring.func_overloadを0以外に設定したままで、動かないのかなぁ?
と思いまして、今回、質問させていただきました。

「mbstring.func_overloadを0以外」の状態でも、ソースのほうで、
「オーバーロードされず、本来の関数が使用される」方法は無いものでしょうか?

これが上手くいくと、「mbstring.func_overload」を気にせずに使用可能になります。
言い換えると「予期せぬ動作しない、どんな環境でも動くスクリプト」になります!
関数毎に指定、あるいはファイル単位で指定など、あれば良いのですが・・・

今の所、可能かどうかわかりませんが「オーバーロード対象外の関数で置き換える?」
方法しか思い当たりません。

もし何かわかりましたら、ご解答ヨロシクお願い致します。

> php.iniでmbstring.func_overloadを0以外に設定設定した場合は、
> 久保さんのおっしゃるように関数自体が置き換えられてしまいます。
> 2,3,6,7に設定された場合strlen()がmb_strlen()に置き換えられます。
> Spreadsheet_Excel_Writerのスクリプトをご覧になればわかると思いますが、
> ASCII文字コードを付加して分岐処理(正確な表現ではないかも)をしている
> 部分があるのでmb_strlen()が2バイトの文字と識別するためエラーになると思わ
> れます。

参考URL:
http://psbweb.mirrors.phpclasses.org/browse/package/767.html
http://www.php.net/manual/ja/ref.mbstring.php




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