PHPなどのプログラムコードをUTF-8で保存するときの注意点

ウェブコーディング

サーバーで実行されるPHPやJavascriptなどをテキストエディタで作成するとき、テキストのエンコードはUTF-8でなければいけないというのは当然です。

ただし、日本語を含めたコードを作成するときは単にUTF-8であればいいかというと、そういうわけではありません。

今回はそんな注意点です。

BOMの有無で日本語が正しく表示されるか決まる

テキストファイルにはそのテキストファイルのエンコードを示すためにファイルの先頭に不可視文字としてバイトオーダーマーク(BOM)が付いていることがあります。

いろいろな歴史があるのですが、通常UTF-8ではこのBOMは付いていないのが普通です。

しかし、日本語入力の可能なほとんどのテキストエディタではUTF-8を選択するとBOMが付いている状態でファイルが保存されます。

このままサーバー環境に移してプログラムを実行すると、日本語が文字化けして読めない現象が起こります。

これを回避するためには、BOMを付けずにUTF-8エンコーディングで保存する必要があります。

 

UTF-8とUTF-8Nの違い

通常UTF-8ではBOMはないと言いましたが、テキストエディタのエンコーディングを見ると、UTF-8とUTF-8Nの2種類あることに気づきます。

特にTerapadなどを利用していれば見かけたことがあると思います。

この場合はUTF-8を選択するとBOM有りでファイルに出力され、UTF-8Nを選択するとBOM無しでファイルに出力されます。

UTF-8は基本的にBOMのない状態が普通なので、もしエンコーディングを確認してUTF-8Nがあれば、そちらを標準設定にしておくと、サーバー環境でつまずくことが少なくなるでしょう。

テキストエディタによっては、「バイト順マークなし」や「BOMなし」と記載されている場合もあります。

自分の使っているテキストエディタの標準設定を確認してみてください。

tipLogtipLog

tipLog

inkscape・GIMPを使ったデザインお勉強ブログ。WordPressなどのウェブ関連のお勉強もしています。2019年6月にInkscapeの書籍を出版しました。 現在は個人事業主向けのホームページやブログ導入のお手伝いをしています。

関連記事

特集記事

コメント

この記事へのコメントはありません。

CAPTCHA


tipLogtipLog

tipLog

inkscape・GIMPを使ったデザインお勉強ブログ。WordPressなどのウェブ関連のお勉強もしています。2019年6月にInkscapeの書籍を出版しました。 現在は個人事業主向けのホームページやブログ導入のお手伝いをしています。

Inkscapeの入門書

ランキング

  1. inkscapeで取り込んだJPGやPNG画像をトリミングをする方法

  2. inkscapeで「フチ文字」を作る方法2つ+ちょっとした応用

  3. inkscapeの基本機能だけで矢印を描く方法

  4. PHPでデータベースから取得した配列を加工する方法

  5. inkscapeの使い方を集めたスキルアップのための日本語チュートリアル集

  6. 超簡単!inkscapeで直角三角形を作る方法

  7. inkscapeの「整列と配置」でオブジェクトを綺麗に並べて表を作る方法

inkscapeを学ぶ

TOP