[PHP-users 14080] Re: includeするファイルを文字コード変換
MT
php-users@php.gr.jp
Wed, 19 Mar 2003 10:05:05 +0900
Yoshida さん 宇野さん返答ありがとうございます。
僕の環境ではとりあえず、共通設定ファイル冒頭のhttp_outputとかの一連の処理を
関数にして、出力/入力の文字コードを指定できるようにして一応解決しました。
function InOut($in = 'EUC-JP',$out = 'SJIS')
{
ini_set("output_buffering","on");
ini_set("output_handler","mb_output_handler");
ini_set("mbstring.http_input","auto");
ini_set("mbstring.internal_encoding",$in);
ini_set("mbstring.http_output","$out");
mb_http_output($out);
ob_start('mb_output_handler');
}
// 内部文字コード 出力文字コード指定
InOut('SJIS','SJIS');
根本的解決かどうかはわかりません。とりあえずためしに
パソコン 可能 など、sjisでスクリプト中に書いて出力
すると文字化けする字を書いてみましたが、エスケープし
なくても文字化けしませんでした。
perl から乗換え中なのでphpが賢いのか上記の処理でうまく
いっているのかよくわかりません。
今はインクルードしたファイルをほとんどそのまま実行して
いるからいいけど、eucで書いたスクリプト中で同じように
インクルードして実行して大丈夫かどうか。
eucのスクリプト→sjisテンプレート→eucのスクリプト
--
MT <akc@mutt.freemail.ne.jp>