電子書籍の厳選無料作品が豊富!

mysqlにはクライアント文字コードとサーバー文字コードがあるようですが、なぜあるのでしょうか?
また、どのようなときそれは役立つのでしょうか?

ご存知の方、宜しくお願いします。

A 回答 (1件)

簡単に言うと文字化け防止です。


用途については、例えば
"データをWeb上に公開する"等の理由でサーバーに置く必要がある場合は
「サーバー文字コード」を使用し作成しないと文字化けを
起こす可能性があります。


因みに「文字コード」とは、
コンピュータは、文字を直接扱う事はできません。
文字を扱うときは、文字の一覧表を用意してその文字が表の何番目にあるかという数字で処理しています。
今見てるこの文字も、コンピュータの内部的にはすべて数字で扱われています。
その一覧表が「文字コード」です。
例えば、ある文字コードでは表15番目の文字が「う」
ほかの文字コードでは同じ15番目の文字が「%」と違います。
このように、
一覧表(文字コード)と表示のときに使用する一覧表(文字コード)が
不一致だと表示が文字化けする事になります。

現状、
Webサーバーとして広く使われているUNIX系OSが「EUC」
クライアントとして普及しているWindowsでは「Shift-JIS」
という異なる文字コードを使用しています。

この回答への補足

papa2010さん、ご回答ありがとうございます。

ではmy.cnfにクライアント文字コードを指定してなにか意味があるのでしょうか?

補足日時:2008/06/10 10:31
    • good
    • 0
この回答へのお礼

もしくは
mysql> select * from tb;
などで表示される文字コードを
my.cnfで指定して表示する仕様である
という認識で間違いないでしょうか?

お礼日時:2008/06/10 10:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!