どういう場合にどれにしたらいいのでしょうか?
ISO-2022-JP、Shift_JIS、EUC-JP、UTF-8
それぞれの場合について、どういうページではこれがいいだろうというのを教えてください。
今どきなら、静的なページなら HTTPヘッダか meta タグを使用して文字コードを指定してやればどれでも文字化けすることは少ないと思います。
ISO-2022-JP は E-Mail では一般的ですが、Webページではあまり使われません。また、日本語の初めと終わりをエスケープ符号で挟む仕様なので、データサイズが大きくなりがちです。
他の文字コードでは 「abcあいう」と「aあbいcう」のサイズは同じですが、ISO-2022-JP では 15バイトと 27バイトになります。Shift_JIS と EUC-JP なら 9バイト、UTF-8 なら 12バイトです。
Shift_JIS はプログラム的に扱いにくく、PHP や Perl などで処理したときに思うような結果が得られない場合があります。
EUC-JP と UTF-8 はあまり問題らしい問題はないと思います。
プログラムで処理する場合、UTF-8 なら日本語とか外国語とかをあまり気にせずに扱えます。プログラムで処理しなくても日本語と中国語(簡体字でも繁体字でも)やハングル、アラビア文字なども併記することができます。
また、日本語でも EUC-JP に含まれるのは第二水準漢字までなので UTF-8 より少なくなります (表示するだけなら文字参照を用いて行えますが)。
ただし、その分 UTF-8 ではデータサイズが大きくなり(日本語部分が 1.5倍)、文書量が多くなると結構な差になります。
データサイズを気にしない、多言語対応を視野に入れている、「草彅剛」「内田百閒」など第一、第二水準漢字に含まれない漢字を扱う、などの場合は UTF-8、それほどシビアなことはしないなら EUC-JP でいいのではないでしょうか。
下記、ホームページが非常にわかりやすく書かれています。
↓
【文字化けしないようにするには】
http://www.tohoho-web.com/wwwxx005.htm
このホームページにも書かれていますが、文字化けのことを
考えると、Shift_JISが一番文字化けしません。HTMLの記述の
仕方で対策も立てられますのでご参考ください。
ありがとうございます。
UTF-8をお勧めされているのですが、
そちらとどう違うのでしょうか。
今どきなら、静的なページなら HTTPヘッダか meta タグを使用して文字コードを指定してやればどれでも文字化けすることは少ないと思います。
ISO-2022-JP は E-Mail では一般的ですが、Webページではあまり使われません。また、日本語の初めと終わりをエスケープ符号で挟む仕様なので、データサイズが大きくなりがちです。
他の文字コードでは 「abcあいう」と「aあbいcう」のサイズは同じですが、ISO-2022-JP では 15バイトと 27バイトになります。Shift_JIS と EUC-JP なら 9バイト、UTF-8 なら 12バイトです。
Shift_JIS はプログラム的に扱いにくく、PHP や Perl などで処理したときに思うような結果が得られない場合があります。
EUC-JP と UTF-8 はあまり問題らしい問題はないと思います。
プログラムで処理する場合、UTF-8 なら日本語とか外国語とかをあまり気にせずに扱えます。プログラムで処理しなくても日本語と中国語(簡体字でも繁体字でも)やハングル、アラビア文字なども併記することができます。
また、日本語でも EUC-JP に含まれるのは第二水準漢字までなので UTF-8 より少なくなります (表示するだけなら文字参照を用いて行えますが)。
ただし、その分 UTF-8 ではデータサイズが大きくなり(日本語部分が 1.5倍)、文書量が多くなると結構な差になります。
データサイズを気にしない、多言語対応を視野に入れている、「草彅剛」「内田百閒」など第一、第二水準漢字に含まれない漢字を扱う、などの場合は UTF-8、それほどシビアなことはしないなら EUC-JP でいいのではないでしょうか。
現在まであまり考えずにやってきたので、ウェブページ制作ソフトを使った場合、shift_jis のコードが挿入されていました…
PHPやMySQLとの連携を考えると UTF-8 のほうがいいのかなあという気になってきました。
今はPHPもそのまま保存しているので、shift_jisになっていました…
ありがとうございました。
現在まであまり考えずにやってきたので、ウェブページ制作ソフトを使った場合、shift_jis のコードが挿入されていました…
PHPやMySQLとの連携を考えると UTF-8 のほうがいいのかなあという気になってきました。
今はPHPもそのまま保存しているので、shift_jisになっていました…
ありがとうございました。