2011年5月19日

[PHP-users 35573] Re:意図しない文字置換について

SJISの場合もUTF-8の場合も考え方は同じで良いのですが、今回の例が正しく動作しているのは、内部文字エンコーディング(mbstring.internal_encodingで指定しておられる部分)が置換対象の文字列と一致しているからですね。

今回は内部文字エンコーディングも$strのエンコードもSJISですから、「正しい」わけですが、もし食い違いがあるのであれば、

mb_regex_encoding('SJIS');
$str=mb_ereg_replace ('~','〜',$str);

とする必要があります。


その意味で、2 番の御質問が「(同じ設定のままで)UTF-8の処理をする場合」という意味であるならば、

mb_regex_encoding('UTF-8');
$str=mb_ereg_replace ('~','〜',$str);

と *しなければならない* ことになると思います。
_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2011年5月19日 12:31
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/103784
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。