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

mysql:5972

From: "Cold Winter" <"Cold Winter" <coldwinter@xxxxxxxxxx>>
Date: Thu, 22 Aug 2002 11:44:27 +0900
Subject: [mysql 05972] Re: JDBC での INSERT と UPDATE で日本語が ? に化けてしまいます

福元さん,はじめまして。

>  接続文字列では、
> jdbc:mysql:///master1?useUnicode=true&characterEncoding=SJIS
>  UpdateCount = sta.executeUpdate(new
> String(p1.getBytes("8859_1"),"Shift_JIS"));
> のようにきちんとSJIS変換しているつもりなのですが
> INSERTとUPDATEを行うと、「あ」のような日本後全てが「?」となって
> データベースに格納されているようです。

…次のような点を考慮してみるとよいかもしれません。

1.SQL のエンコードに「8859_1 → Shift_JIS」の変換を "かけないで"
  そのまま実行する

2.DB エンジンの起動状態のうち,キャラクターセットの設定を確認する

  # 確認方法

   "C:\work\> mysqladmin variables" ででてくる表の character_set
   の行が "sjis" であることを確認する,念の為 character_sets に
   "sjis" が含まれていることも確認する



----- Original Message -----
From: "福元 政明" <fukumoto@xxxxxxxxxx>
To: <ml@xxxxxxxxxx>
Sent: Thursday, August 22, 2002 11:38 AM
Subject: [mysql 05971] JDBC での INSERT と UPDATE で日本語が ? に化けてしまいます


> 福元と申します。
> 環境は、Win2K + JDK1.4 + TOMCAT4.18です。
> 実はタイトルのような不具合で悩んでおります。
> 処理的には
>  WEB-INF/lib/mm.mysql-2.0.13-you-must-unjar-me.jar
>  接続文字列では、
> jdbc:mysql:///master1?useUnicode=true&characterEncoding=SJIS
>  UpdateCount = sta.executeUpdate(new
> String(p1.getBytes("8859_1"),"Shift_JIS"));
> のようにきちんとSJIS変換しているつもりなのですが
> INSERTとUPDATEを行うと、「あ」のような日本後全てが「?」となって
> データベースに格納されているようです。
> なみに、mysqlコマンドでINSERT文を実行したレコードについては、読み込んだ際に
> も○きちんと日本語表示されます。
> なみに、本メーリングリストで紹介されていました「PreparedStatement」の動作は
> まだ検証していません。
> よろしくお願いします。
>


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

      5971 2002-08-22 11:38 [福元 政明 <fukumoto@] JDBC での INSERT と UPDATE で日本語が ? に化けてしまいます
->    5972 2002-08-22 11:44 ┗["Cold Winter" <coldw]