Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

Mysql 文字化け

mysqlに直接ひらがな・全角・半角・英数を打ち込む
と受け付けてくれるのですが、servlet→jsp→mysql
の流れ(Java)で、情報を入力すると全角と平仮名が
文字化けしてしまいます。 
そのためmy.iniの設定を

[mysql]
default-character-set=utf8

↓↓↓

[mysql]
default-character-set=cp932

に変えましたが今だに文字化けしています。原因は何
でしょうか・・・?
ご教示お願い致します。

Mysqlの文字コードです 

Variable_name | Value
--------------------------+---------------------
-----------
character_set_client | cp932
character_set_connection | cp932
character_set_database | latin1
character_set_filesystem | binary
character_set_results | cp932
character_set_server | latin1
character_set_system | utf8
character_sets_dir | 
C:\xampp\mysql\share\charsets\

*mysql ver5.5

4

回答

4272

閲覧

4件の回答

評価

0

そのcp932は何を根拠に指定した?
どこでどうやって表示したものが化けた?

評価

0

回答ありがとうございます。

>そのcp932は何を根拠に指定した?
調べてみると見たような状況のページを見つけて
cp932と指定しました。
(このページを参考にして指定しました。)
http://blog.livedoor.jp/kage_java/archives/65676
108.html

>どこでどうやって表示したものが化けた?
servlet→jspに平仮名を打ち込んで→mysqlに流して
返ってきた表示が????となっていました。

評価

0

アプローチが違う。

似たような事例を見つけたら、そこで最終的に何をしたの
か、ではなく、その設定になった理由をこそ、考えるべき
だ。
似たような事例があったとして、状況が違うのに同じ設定で
うまく行くとは限らない。

>返ってきた表示が????となっていました。
入力している箇所と、出力する箇所以外がどうなっているか
も、考えるべきだ。
文字化けは常に同じ場所で同じ理由により発生するわけでは
ない。
まずはどの時点で化けるのかを、特定しないといけない。
場合によってはMYSQLは無関係かも知れないし、複数カ所で
化けているかもしれない。

デバッグ全般に言えることだが、どこまでが想定外どおり
で、どこでおかしくなるか、それを特定することが肝要だ。

評価

0

おっしゃる通りでした。同じようにやれば直せると思い
やっていました。

もう少し自分なりに考えてみようと思います。

ご意見ありがとうございました!

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。