PHPでWebアプリを作成しようとしています。

文字コードはどれを使用するのがよいのでしょうか?

もちろんアプリでは日本語を使用しますので、Shift-jis, EUC-JP, UTF-8のどれかを使用することになると思うのですが。。。

イマイチ判断基準がわかりません。
新規のアプリだし、UTF-8にしておけば問題ないんでしょうか?

それぞれのコードのメリット、デメリットについて教えていただけたらと思います。

よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/12/09 03:55:11
  • 終了:2007/12/11 20:38:41

回答(2件)

id:heroheropon No.2

heroheropon回答回数34ベストアンサー獲得回数22007/12/09 10:43:55

ポイント100pt

何のしがらみもなくまっさらな状態から開発するのであれば、迷うことなくUTF-8がいいと思います。最近はやりのAjaxやJavaScript系の技術は、UTF-8でなければ正しく動作しません。GoogleやYahooやはてなのAPIを使うときもUTF-8ですから、自分のサーバがEUC-JPなどでデータを扱っているとAPI関数に文字列を渡したり受け取ったりするときにいちいち変換が必要です。(PHPなら文字コード変換は簡単なので困るほどのことはありませんが、変換している文だけ動作が遅くなります)

EUC-JPが今でも多いのは、Unix系のサーバの標準文字コードが長年EUC-JPだったからですが、最近のLinuxなどはデフォルトがUTF-8になっていますから、古いサービスやサーバを引き継いでいる場合でもない限りEUC-JPにする必要はないでしょう。逆に古いサービスを引き継いだりすると、データベースに入っている会員住所氏名などがEUCだったりするので、そういう場合はEUCを使う必要が出てきます。

また、Windowsの場合は、OS標準がShift-JIS(実はOSの内部はUTF-16というのを使っているのですが表面に出てくるテキストファイルなどはShift-JIS)なのでプログラムはShift-JISで組むこともあります。ただしこの場合もAjaxなどを使う場合はUTF-8にそのつど変換する必要がありますので、最初からUTF-8で組んでおくとよ余計なバグを生まなくて済むと思います。

http://itpro.nikkeibp.co.jp/article/lecture/20070209/261534/?ST=...

id:FLine

この辺り、かなり貴重な情報ですね。成程。

最近はやりのAjaxやJavaScript系の技術は、UTF-8でなければ正しく動作しません。GoogleやYahooやはてなのAPIを使うときもUTF-8ですから、自分のサーバがEUC-JPなどでデータを扱っているとAPI関数に文字列を渡したり受け取ったりするときにいちいち変換が必要です。

Ubuntu,Fedora,Centはそんな感じかなあ(雰囲気で言ってるだけですが)。

最近のLinuxなどはデフォルトがUTF-8になっていますから、古いサービスやサーバを引き継いでいる場合でもない限りEUC-JPにする必要はないでしょう。

やっぱり時代的にはUTF-8ですかー。

大変参考になりました!!

2007/12/11 20:38:03

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

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません