[前][次][番号順一覧][スレッド一覧]

mysql:8926

From: yyuji <yyuji <yyuji@xxxxxxxxxx>>
Date: Mon, 08 Mar 2004 15:30:37 +0900
Subject: [mysql 08926] MySQL4.1 での UTF-8 エンコーディングについて

yyuji1961です。

現在以下の環境でUTF-8を使用したJDBCでの接続テストを行っております。

OS:Windows2000 professional SP4
MySQL:mysql-4.1.1a-alpha-max
JDBC:mysql-connector-java-3.0.11-stable-bin   

ところが、MySQL側、クライアント側双方で文字化けが生じてしまいます。

詳細は以下のとおりです。

1.MySQLのdefault-character-set=utf8
  呼び出し側のコネクション
  useUnicode=true&characterEncoding=UTF8
  
  DBの中身→文字化け
  SELECTした結果→文字化け
  
2.上記と同じで取り出した文字列をUTF-8指定で変換
(new String(str.getBytes(),"UTF-8");とする)
 
 DBの中身→文字化け
  SELECTした結果→一部のひらがなで文字化け(正常に表示されるものもある)
  ↓
  「あいう」を「あい」は正常、「う」は文字化け
  
3.MySQLのdefault-character-set=utf8
  呼び出し側のコネクション
  useUnicode=true&characterEncoding=Shift_JIS
  
  DBの中身→文字化け
  SELECTした結果→文字化け
  
4.MySQLのdefault-character-set=sjis
  呼び出し側のコネクション
  useUnicode=true&characterEncoding=Shift_JIS  
  
  DBの中身→文字化け
  SELECTした結果→文字化け
  
5.MySQLのdefault-character-set=sjis
  呼び出し側のコネクション
  useUnicode=true&characterEncoding=UTF8
  
  DBの中身→正常
  SELECTした結果→文字化け
  
6. 5と同じで取り出した文字列をUTF-8指定で変換
(new String(str.getBytes(),"UTF-8");とする)
 
  DBの中身→正常
  SELECTした結果→文字化け(2と同じ結果)
  
  以上ですが、どなたかUTF8を使用した場合の文字化けが発生しないJDBCの使用方法をご
存知の方がいらしたら教えて頂けないでしょうか。

 基本的に、中国語、韓国語、その他欧米の言語などをそのままの形でDB中に格納し、参照
したいと考えております。そのためUTF-8を使用したJDBC経由の接続をしたいと考えてお
ります。

 お手数ですが、よろしくお願いします。

 ======================================================
yyuji1961:yyuji@xxxxxxxxxx
 ======================================================

[前][次][番号順一覧][スレッド一覧]