- - PR -
JavaでのMySQLの文字コード指定
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-11-06 00:31
以下の環境でJavaからJDBCでMySQLを利用しています。
Windows XP Home Edition Service Pack2 Java 2 SDK 1.5.0_04 MySQL 4.1.14-nt mysql-connector-java-3.1.11 MySQLで文字コードを指定するときはmy.iniファイルにdefault-character-set=ujisを指定するだけでなく、MySQLへ接続後、「SET NAMES 'ujis'」を実行しなさいとWebサイトに書かれていましたので、実行しようとしています。 以下のコードで実行できると思っているのですが、MySQLに実行結果が反映されません。直接、MS-DOSプロンプトから「SET NAMES 'ujis'」を実行した場合は反映されます。 どなたかお気づきの点などありましたら、教えていただけませんでしょうか。 よろしくお願いします。 コード -------------------------------------------------------------------- Class.forName("org.gjt.mm.mysql.Driver"); String url = "jdbc:mysql://localhost/xxx?characterEncoding=ujis"; String user = "xxx"; String pass = "xxx"; Connection con = DriverManager.getConnection(url, user, pass); Statement stmt = con.createStatement(); stmt.execute("SET NAMES 'ujis'"); 文字コード指定前の状態 -------------------------------------------------------------------- mysql> show variables like 'char%'; +--------------------------+---------------------------------------- | Variable_name | Value +--------------------------+---------------------------------------- | character_set_client | latin1 | character_set_connection | latin1 | character_set_database | ujis | character_set_results | latin1 | character_set_server | ujis | character_set_system | utf8 | character_sets_dir | C:\Program Files\MySQL\MySQL Server 4.1\xxx +--------------------------+---------------------------------------- 文字コード指定後の状態 -------------------------------------------------------------------- mysql> show variables like 'char%'; +--------------------------+---------------------------------------- | Variable_name | Value +--------------------------+---------------------------------------- | character_set_client | ujis | character_set_connection | ujis | character_set_database | ujis | character_set_results | ujis | character_set_server | ujis | character_set_system | utf8 | character_sets_dir | C:\Program Files\MySQL\MySQL Server 4.1\xxx +--------------------------+---------------------------------------- |
1