読者です 読者をやめる 読者になる 読者になる

RadPHPでエンコーディングがBOM無しUTF-8であるソースコードがANSIと見なされる場合の回避策

RadPHPを使ってみて、ちょっと気になった点がありQCに登録したら、早速回答が来たので覚え書きとして記録。

こんな感じのソースファイルを作成して、エンコーディングUTF-8としてBOM無しで保存。

<?php
print '<HTML>';
print '<BODY>';

print 'これはPHPのソースコードで、エンコーディングはUTF-8です。';

print '</BODY>';
print '</HTML>';
?>

これをRadPHPで開くと、エンコーディングANSIと見なすようで文字化け。これを回避するには、同じフォルダにファイルの拡張子を「.bom」にしたサイズ0のファイルを作成する。こうすることによってRadPHPは.bomファイルをマーカーと見なしてくれるので、エンコーディングUTF-8として扱ってくれる。

QCでの指示通り、RadPHPの[ファイル|新規作成|ユニット]でソースコードを作成し、適当な場所に保存すると、ソースコードだけでなく拡張子が「.bom」であるファイルも生成される。

しっかし、「PHP BOM UTF-8」でググるといろいろ出てくるな…。('A`)確かに、画像データのようなバイナリファイルは先頭にBOMがあるとそれだけでアウトな訳だし。