- 作成者投稿
- 2010年4月23日 5:12 am #9087ksakuraiメンバー
EmEditor: Ver 9.16(64bit)
以下問題のあるPHPファイルをUTF-8(BOM無し) 改行コード=LFで
保存しています。
これを、EmEditorで開くと、UTF-8(BOM無し)で検出出来ません。
このファイルのうち、
$xmlHead = ‘‘;と言う行を削除してUTF-8(BOM無し)保存すると、次に
EmEditorで開いても正しくUTF-8(BOM無し)と認識できます。ソースコードの真ん中の、文字列定義の部分にあるXML宣言が
判定基準になっているようなのですが何故でしょうか?
上記部分を
$xmlHead = ‘‘;
にすると、EmEditorで「指定したエンコードで変換ができない」と
言われず、思い通りにUTF-8で開くのですが、、、。ご確認ください。
————– 問題のあるファイル ——-
‘;
$s = str_replace($xmlHead, ”, $s);
$s = preg_replace(“/rn/”, ”, $s);
$s = preg_replace(“/n/”, ”, $s);
$s = $xmlHead.”rn”.$s;
}
echo $s;
}
}
?>2010年4月23日 6:08 am #9088Yutaka Emuraキーマスターksakurai 様
いつも EmEditor Professional をご利用いただき、誠にありがとうございます。
設定のプロパティの [ファイル] タブで、[HTML/XMLのCharsetを検出] がチェックされていると、文書中に、
という行があると、その中の encoding= の後のエンコードを読み取って、それに合わせてエンコードを選択するようになっています。
今回のファイルは、引用符の中にあるため無視するべきですが、ファイルを開く速度を優先するため、厳密な解析を行っているわけではありません。
このような PHP のファイルを開く場合、HTML/XMLのCharsetを検出が必要なければ、PHPの設定のプロパティの [ファイル] タブで、[HTML/XMLのCharsetを検出] のチェックを外してご利用ください。
PHP の場合は、このチェックを既定で外すことも検討します。貴重なご意見ありがとうございます。
他にもご意見、ご質問がございましたら、ご遠慮なくご連絡ください。
今後もよろしくお願い申し上げます。 - 作成者投稿
- このトピックに返信するにはログインしてください。