文字コード?ホームページ作成ソフトでの文字化けについて?
A コンピュータ上では文字を「数値」として割り当てている
文字コードとは
そもそも文字コードとは、コンピュータ上で文字や記号をそのまま取扱うのではなく、それらを「数値」として割り当てています。
「文字」を「数値」として割り当てて、対応させているのですが、この対応のさせ方の種類として、Shift-JISやUTF-8、EUC-JPがあるという事になります。
文字コードの種類
Shift_JIS
日本語を表すために使われている文字コードで、国内において現在多くのパソコン上で使用されている代表的なものです。
Shift_JISは、携帯電話で読めるコードであり、消費バイト数が少ないという事が特徴ですが、エンコードデータに制御文字を含む場合が多いので、これを想定してない環境では文字化けする可能性があります。
日本語のホームページで使用されている文字コードは「Shift_JIS」が多い事から、最短ホームページテンプレートやシリウスの管理画面ではデフォルトでShift_JISに設定されています。
UTF-8
文字の対応範囲が広く、どこの国の言語でも文字化けする事なく表示されます。消費バイト数は多いのですが、PC環境に左右されにくく、安定しているという特徴があります。
しかし、国内の携帯電話表示には対応してないので、ガラケーサイトでは表示されません。UTF-8に設定すると、ガラケー表示は文字化けします。
EUC-JP
日本語の文字を扱う場合に利用されている符号化方式の文字コードです。ホームページ作成を考えた場合、EUC-JPという文字コードは考慮する必要はありません。
文字コードについてはどれも一長一短ありますが、日本語サイト作るのであればShift_JISかUTF-8で大丈夫であり、EUC-JPについては特に気にしなくて良いって事になります。
このように文字コードが複数存在する状況で、文字コードと、ブラウザが解釈した文字コードが異なるときに「文字化け」が、発生します。
文字コードが必要とするバイト数「バイトとは!」
まず!コンピュータが扱う最小単位は、[ビット]と呼ばれています。
例えば[1ビット]の場合、[2の1乗]で[2]!!これは「[2]から、ひとつを選択できる能力」の情報量となります。[1]か[0]の判断を一回できる!
この上で、[1バイト]とは[8ビット]の事です。二択を8回できる情報量って事です。
なので、2×2×2×2×2×2×2×2=256(二進数で言えば8桁です。)
これを解りやすくまとめると、、「1バイトあれば、256の異なる状態を表現できる」って事になります。(1バイトで256種類の文字)
英語圏では「アルファベットと数字、カンマ等」なので、1バイト256種類の表現ができれば、すべて表示する事が出来ますが、日本語では「漢字、ひらがな、数字、カタカナ」、などがあるため、2バイト(65536文字)が必要となります。
- SHIFT-JIS
半角文字が1バイトで、全角文字が2バイト
- UTF-8
半角文字は1バイトですが、全角文字は3バイト
SHIFT-JISのほうが、UTF-8より明らかに容量は小さい(2/3)という事です。UTF-8の場合全角文字は3バイトなので、単純にホームページ1ページの文字数を2,000文字とすると、そのページは6,000バイトって事です。
このバイト数がレンタルサーバーの容量と密接に関係してくるのですが、月額500円程度の有料のレンタルサーバー(100GB)を契約した場合、文字コードの違いによる容量の増加については、考えなくて良いレベルです。
Shift_JISかUTF-8
現在ネット上ではスマホとPCからの閲覧が99.9%であり、これからのホームページ作成では、ガラケーに対応させる必要はなくなってくると考えられます。
それでShift_JISかUTF-8、どちらを選択したら良いのかという事になりますが、ガラケーの表示を捨てるなら、今後主流になると考えられる、UTF-8でOKではないでしょうか。
ちなみに私はシリウスでホームページを作成する場合UTF-8に設定しています。
これは当サイトの閲覧者さんからメールでご連絡があり、「サイト内検索」を利用した場合、文字化けしているというご指摘を受けたからです。
この文字化けはUTF-8に設定を変更する事で解消されました。
なお、最近のネットブラウザ表示はUTF-8を基準にして作られてきていています。またUTF-8の場合ウェブフォントも使えます。余談ですが近年Yahoo!JAPANは、ホームページをリニューアルした際、文字コードをEUC-JPからUTF-8に変更しています。
テンプレートのヘッダー内に記述されています。
サイトオプション→全体設定→サイト全体の設定→文字コード