webページを作る際の文字コードは、

どういう場合にどれにしたらいいのでしょうか?

ISO-2022-JP、Shift_JIS、EUC-JP、UTF-8
それぞれの場合について、どういうページではこれがいいだろうというのを教えてください。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/05/15 10:58:49
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:GEN111 No.2

回答回数472ベストアンサー獲得回数58

ポイント45pt

今どきなら、静的なページなら 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 でいいのではないでしょうか。


文字コード - Wikipedia

id:sun-chan

現在まであまり考えずにやってきたので、ウェブページ制作ソフトを使った場合、shift_jis のコードが挿入されていました…

PHPやMySQLとの連携を考えると UTF-8 のほうがいいのかなあという気になってきました。

今はPHPもそのまま保存しているので、shift_jisになっていました…

ありがとうございました。

2007/05/15 10:58:06

その他の回答1件)

id:fujiyamasatoshi No.1

回答回数46ベストアンサー獲得回数2

ポイント25pt

下記、ホームページが非常にわかりやすく書かれています。

【文字化けしないようにするには】

http://www.tohoho-web.com/wwwxx005.htm

このホームページにも書かれていますが、文字化けのことを

考えると、Shift_JISが一番文字化けしません。HTMLの記述の

仕方で対策も立てられますのでご参考ください。

id:sun-chan

ありがとうございます。

UTF-8をお勧めされているのですが、

そちらとどう違うのでしょうか。

2007/05/15 09:37:37
id:GEN111 No.2

回答回数472ベストアンサー獲得回数58ここでベストアンサー

ポイント45pt

今どきなら、静的なページなら 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 でいいのではないでしょうか。


文字コード - Wikipedia

id:sun-chan

現在まであまり考えずにやってきたので、ウェブページ制作ソフトを使った場合、shift_jis のコードが挿入されていました…

PHPやMySQLとの連携を考えると UTF-8 のほうがいいのかなあという気になってきました。

今はPHPもそのまま保存しているので、shift_jisになっていました…

ありがとうございました。

2007/05/15 10:58:06

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません