my.iniとSET NAMES
my.iniとSET NAMES SJIS
について教えていただきたいことがあります。
my.iniに以下設定を追加で行いました。
[mysqld]
character-set-server=utf8
[mysqldump]
default-character-set = utf8
[mysql]
default-character-set = utf8
データベースのAテーブルには、
No 商品 価格
1 冷蔵庫 1000
2 エアコン 800
というレコードが入っております。
コマンドプロンプトより、
1. cd C:\xampp\mysql\bin
2. mysql -u root -pnazonazo
の二つのコマンドを実行後、
mysql> Select * from A;
を実行したところ、日本語の商品列が文字化けしました。
No 商品 価格
1 文字化け 1000
2 文字化け 800
そこで、色々調べて
1. mysql> SET NAMES SJIS;
2. mysql> Select * from A;
を実行したところ商品名の文字化けが直って表示されました。
No 商品 価格
1 冷蔵庫 1000
2 エアコン 800
質問1:SET NAMES SJIS;により、コマンドプロンプトでの文字化け原因が
解消されたと思うのですが、なぜだか理由が分からないのです。
「my.ini」とどのような関係があるのでしょうか。
情報を見つけたページでは、おまじないということで書かれていたのですが
解決された理由を知りたいのです。
質問2:PHPでも、SET NAMES SJIS; を使用するときがあるみたいなのですが
同じ効果があるのでしょうか。
どなたかお分かりのかたがいらっしゃいましたら
ご教授お願いします。