[PHP-users 34866] JISで文字列の置換を行いたい。
choice
info @ choice-site.com
2009年 12月 9日 (水) 14:24:50 JST
中出と申します。
理由があってJISで文字列の置換を行いたいと
思っているのですが、うまくいきません。
●スクリプト
<?php // -*- coding: utf-8 -*-
$str='%%name%%さん、こんにちは。';
$pat='%%name%%';
$rep='萩山';
$str_jis=mb_convert_encoding($str,'iso-2022-jp','UTF-8');
$rep_jis=mb_convert_encoding($rep,'iso-2022-jp','UTF-8');
$str_jis=str_replace($pat,$rep_jis,$str_jis);
$fp = fopen('data.txt', 'w');
fwrite($fp, $str_jis);
fclose($fp);
?>
スクリプトはUTF8で実装しています。
処理としては、JISの文字列から%%name%%を探し、置換を行い
ファイルに保存するとなっています。
ファイルには
「
萩山さん、こんにちは。
」
と保存されることを期待するのですが、実際には
「
萩山[$B$5$s!"$3$s$K$A$O!#
」
のようになりうまくいきません。
なお、UTF8で置換を行い、その後、JISに変換して保存するという方法は
分かっているのですが、「JISで文字列の置換」が解消した問題なので
この方法はパスしています。
よい解消方法があれば教えてください。
よろしくお願いします。
----
PHP-users メーリングリストの案内