質問: mysqlから取得した文字の文字化け mysqlでchar(20)に日本語を登録しました。 mysql上では当然select kudamono from shohi_table;とすると みかん りんご かき いちご というようにコマンドプロンプト上で表示されます。 このデータをjavaでで取得すると文字化けを起こします。 while(rset.next()){ system.out.println(rs.getstring("kudamono")); } 半角データの場合はgetstring("列名")で文字化け起こしません。 数字データについてもgetint("列名")で文字化け起こしません。 原因はなんでしょうか?
回答: mysqlのコマンド入力画面から、statusと打って、 文字コードを確認してみてください。 このとき、javaのソースコードの文字コードと mysqlの文字コードが一致していない場合、 文字化けが起こります。 半角英語や数字に変化がないのは、文字コードに依存しないためです。 日本語は文字コードによって標記方法が異なるので。