PHP mb_convert_encoding sjisからutf-8
PHP mb_convert_encoding sjisからutf-8で一部文字の文字化けが発生します。
設定ファイル(sjisで作成)をPHP(utf-8)で読み込み、内容を更新して、再度設定ファイルとして書き出す(上書きする)スクリプトを書いています。utf-8で書き出す分には、全く問題がないのですが、書き出す前にmb_convert_encodingでutf-8からsjisに変換すると、文字化けする字が発生します。具体的には、以下の通りです。
事例1
・変換前(utf-8)
book_style="文庫,新書,雑誌,ムック,ソフトカバー,ソフトカバー大型本,ハードカバー,ハードカバー大型本,絵本"
・変換後(sjis)
book_style="文庫,新書,雑誌,ムック,ャtトカバー,ャtトカバー大型本,ハードカバー,ハードカバー大型本,絵本"
事例2
・変換前(utf-8)
;詳細侮ヲの最大表示件数
・変換後(sjis)
;詳細侮ヲの最大侮ヲ件数
該当するプログラム文は、以下の通りです。
$filepath = "setting.ini";
$string = $total_gyo;//ここで出力内容を代入します
$string = mb_convert_encoding($string, "sjis-win", "utf-8");
$string = stripslashes($string);
$fp = fopen($filepath, "w");
@fwrite( $fp, $string, strlen($string) );
fclose($fp);
各行分割して代入しても、全行一括で代入文字化けの発生状況は同じでした。
以上、どうぞよろしくお願いいたします。