コレってアリ?ファイル名での日本語(全角文字)利用について

  • このエントリーをはてなブックマークに追加

ファイル名は日本語にしない

時々Webサイトの画像ファイルやフォルダ名称が日本語になっているのを見かけます。
例えば「背景画像」とか「ヘッダー背景.jpg」とかです。
一見すると何の問題もないように見えるかもしれませんが、それは個人のパソコン上での話です。Webサイトの場合には問題となる事が多くあるので、日本語の使用は控えましょう。また全角文字の利用も同様です。

この他にも使ってはいけない文字があります。

・半角・全角スペース
・ハイフンとアンダースコア以外の記号
・機種(環境)依存文字

は使ってはいけない文字です。

なので
お知らせ.htmlとか、新着 2017/08/10.htmlとか、ページに使う写真①.jpgといった命名はしてはいけません。

使ってはいけない文字をファイル名にするとエラーの原因になる

それでは使ってはいけないとされている文字を使うと、具体的にどうなるのでしょうか。

・Webサーバーで正常に認識されず、画像が表示されない場合がある
・ファイルのダウンロードができない場合がある
・ファイルの削除ができなくなる場合がある
・文字化けしてしまって、更新時に非常に時間がかかる

などが挙げられます。

表示されないという事は大きな問題ですが、削除もできなくなるかもしれないのはとても困りますね。
特に全角・半角スペースはつい使ってしまうので、注意が必要です。

2バイト文字を認識できないWebサーバー・ブラウザの存在について

全角文字は1文字を表示するのに2バイト必要です。
対して半角文字は1文字につき1バイトです。
この「1文字を表示するのに必要となるデータ量の差」が問題になります。

「A(全角)」と「A(半角)」はどちらも同じ文字を表しています。
一目見た時、一瞬では全角と半角の違いが分かりませんよね?
よーーく見ても違いがよくわかりませんし、見落としてしまいがちです。
この同じに見える文字でも、表示させるデータ量には差があるんです。

私たちが「この違いは何?」と一目では分からないように、Webサーバーも「データ量で見れば2バイトなのに、文字は1文字しかないぞ?何が違うのだろう?」と困ってしまう物があります。
その結果、正しく認識できなかったり、認識できたとしても2バイト1文字を分解して、自分が認識できる2バイト2文字に変換してしまいます。
仮にWebサーバーが正しく認識してくれたとしても、インターネットブラウザが2バイト文字に対応していなければ正しく表示するができません・・・

日本語ドメインの登場もあり、今ではほとんどのブラウザが認識してくれるようになってはいますし、対応も進んでいるはずですが、Webサイトというオープンな場に公開する物なので、誰がどんな環境で見に来るかわかりません。
中には日本語を読めない方もいるでしょうし、2バイト文字に対応していないブラウザを使っている人もいるかもしれません。
こうした様々な状況を考慮すると、2バイト文字(全角文字)は使わず、1バイト文字(半角文字)を使う方が確実ですね。

まとめ

以下の文字は使ってはいけない
・全角文字
・半角・全角スペース
・ハイフンとアンダースコア以外の記号
・機種(環境)依存文字

使ってはいけない文字を利用すると、様々なエラーの原因となる
・Webサーバーで正常に認識されず、画像が表示されない場合がある
・ファイルのダウンロードができない場合がある
・ファイルの削除ができなくなる場合がある
・文字化けしてしまって、更新時に非常に時間がかかる

  • このエントリーをはてなブックマークに追加