WEBアプリの内部文字コードまわりの状況を教えてください。内部文字コードをUTF-8にしないことのデメリット、またUTF-8にする場合の注意点などを教えてください。


今開発しているWEBアプリの内部コードをUTF-8にした方がいいのか迷っていますが、これまでEUC-JPで作っていましたが、どこかでこれまで通りの文字コードで作る方が無難なのではないか、という気持ちが強く、踏み切れないでいます。

UTF-8にしないことのデメリット、またUTF-8にする上での注意点などを教えてください。
たとえば、UTF-8にしたときにデータベースに入れない文字など制限を掛けたりするものでしょうか?

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/04/16 13:30:37
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:asatoryu No.1

回答回数66ベストアンサー獲得回数14

ポイント68pt

●UTF-8にしないことのデメリット
・JIS X 0213(JIS第3水準・第4水準)を扱うことができません。
・(将来的に)多言語対応にするのが困難です。
・XMLなどでデータの入出力をするのはUTF-8が標準になりつつあるので、内部コードに置換するためのオーバーヘッドや、コード変換不可文字(および変換ミス)が発生します。

●UTF-8にする上での注意点
・Linuxだと、古い外部コマンドはEUCにしか対応していないことがあるので注意が必要です。
・DBの設定をUTF-8にする必要があります。
・DBに入れる文字種の制限は、UTF-8に限らず、EUC-JPでも不正文字は入れられないようにチェックすべきです。
・UTF-8は不定長バイト列になります。DB設計などデータ長が関わってくる設計で注意して下さい。

id:timestep

回答ありがとうございます。とても参考になります。
JIS X 0213はEUC-JPwinでも扱えると思っていましたが、いかがでしょうか。
それと「不正文字は入れられないようにチェックすべきです。」とのことですが、不正文字とは具体的にはどのような文字のことなのでしょうか。

2013/04/10 13:36:00

その他の回答2件)

id:asatoryu No.1

回答回数66ベストアンサー獲得回数14ここでベストアンサー

ポイント68pt

●UTF-8にしないことのデメリット
・JIS X 0213(JIS第3水準・第4水準)を扱うことができません。
・(将来的に)多言語対応にするのが困難です。
・XMLなどでデータの入出力をするのはUTF-8が標準になりつつあるので、内部コードに置換するためのオーバーヘッドや、コード変換不可文字(および変換ミス)が発生します。

●UTF-8にする上での注意点
・Linuxだと、古い外部コマンドはEUCにしか対応していないことがあるので注意が必要です。
・DBの設定をUTF-8にする必要があります。
・DBに入れる文字種の制限は、UTF-8に限らず、EUC-JPでも不正文字は入れられないようにチェックすべきです。
・UTF-8は不定長バイト列になります。DB設計などデータ長が関わってくる設計で注意して下さい。

id:timestep

回答ありがとうございます。とても参考になります。
JIS X 0213はEUC-JPwinでも扱えると思っていましたが、いかがでしょうか。
それと「不正文字は入れられないようにチェックすべきです。」とのことですが、不正文字とは具体的にはどのような文字のことなのでしょうか。

2013/04/10 13:36:00
id:Sampo No.2

回答回数556ベストアンサー獲得回数104

ポイント66pt

UTF-8にした場合の注意点を2つ。

  • IEは、UTF-8のページではデフォルトフォントが変わってしまい和文と欧文のバランスが悪くなります。もちろんfont-familyで読みやすいものを設定すればいいんですが、font-familyの設定っていろんなOS環境を考慮しないといけなくて気を遣わされますよね…
  • UnicodeにはJISコードにない特殊文字があります。文字の並び順をアラビア式に変えてしまうRLOとか。特殊文字の手当をしないと、容易に表示を壊されてしまいます。
id:rafting No.3

回答回数2652ベストアンサー獲得回数176

ポイント66pt

Webで利用される文字コード、UTF-8がもうすぐ50%を突破 (2010年)

デメリット:

  • 過去のブラウザで読めない
  • ファイルサイズが50%増加

http://slashdot.jp/comments.pl?sid=483450&cid=1711360

コメントはまだありません

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

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

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

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