- 締切済み
クライアントとサーバー文字コード
mysqlにはクライアント文字コードとサーバー文字コードがあるようですが、なぜあるのでしょうか? また、どのようなときそれは役立つのでしょうか? ご存知の方、宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- papa2010
- ベストアンサー率26% (50/187)
回答No.1
簡単に言うと文字化け防止です。 用途については、例えば "データをWeb上に公開する"等の理由でサーバーに置く必要がある場合は 「サーバー文字コード」を使用し作成しないと文字化けを 起こす可能性があります。 因みに「文字コード」とは、 コンピュータは、文字を直接扱う事はできません。 文字を扱うときは、文字の一覧表を用意してその文字が表の何番目にあるかという数字で処理しています。 今見てるこの文字も、コンピュータの内部的にはすべて数字で扱われています。 その一覧表が「文字コード」です。 例えば、ある文字コードでは表15番目の文字が「う」 ほかの文字コードでは同じ15番目の文字が「%」と違います。 このように、 一覧表(文字コード)と表示のときに使用する一覧表(文字コード)が 不一致だと表示が文字化けする事になります。 現状、 Webサーバーとして広く使われているUNIX系OSが「EUC」 クライアントとして普及しているWindowsでは「Shift-JIS」 という異なる文字コードを使用しています。
お礼
もしくは mysql> select * from tb; などで表示される文字コードを my.cnfで指定して表示する仕様である という認識で間違いないでしょうか?
補足
papa2010さん、ご回答ありがとうございます。 ではmy.cnfにクライアント文字コードを指定してなにか意味があるのでしょうか?