トラブルシューティング

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なし」と記載されている場合もあります。

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

記事が気に入ったら
tipLog を "いいね!"
Facebookで更新情報をお届け。

tipLog

WordPressテーマ

WordPressテーマ「MAG(TCD036)」

スポンサードリンク

関連記事

  1. トラブルシューティング

    InstantWPで管理バーが表示されなくなったらどうする?

    InstantWPはローカル環境でWordPressの開発をするときに…

  2. ウェブコーディング

    開始タグと終了タグを一気に置き換える!WordPressのテーマ変更に使える小技

    このブログでもテーマの変更をしたことがあるのですが、テーマを変更すると…

  3. チュートリアル

    WordPressの記事内でPHPを実行した結果を表示する方法

    WordPressの記事内でPHPを実行できると、記事に表示できるコン…

  4. トラブルシューティング

    Androidで通常削除できないプリインストールアプリを削除する方法

    ICSのインストールとパッチをあてることで、SDカードを使えるようにな…

  5. チュートリアル

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

    データベースからデータをfetch関数などで取得すると、大体は2次元配…

コメント

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

  1. この記事へのトラックバックはありません。

CAPTCHA


スポンサードリンク

ピックアップ記事

おすすめの本

使用している素材

カテゴリー

 
PAGE TOP