民芸的プログラミング 〜ソフトウェア開発日記〜

アクセスカウンタ

zoom RSS groovy から h2 を使ってみるテスト(2)

<<   作成日時 : 2009/08/09 21:05   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

前回のテストで、文字コードの部分が気になっていたので次のテストを実施することにした。
前回は Windows XP のコマンドプロンプト上で実行していた。
文字化けが生じていないので、出力結果の文字コードは Shift_JIS になっていたようだった。

これは入力データの文字コードが Shift_JIS だったからだろうか?
そこで、前回と同じデータ test2.csv を UTF-8 で作成してみた。

1,"アンドウ ヒロシゲ",80
2,"イトウ ヒロフミ",60
3,"ウキタ ヒデイエ",70
4,"エンドウ シュウサク",70
5,"オオタ ドウカン",80


また、groovy スクリプト側の CSVREAD 関数も UTF-8 用に書き換えて次のようにしてみた。

import groovy.sql.Sql;
sql = Sql.newInstance("jdbc:h2:MyDB", "sa", "", "org.h2.Driver");
sql.execute("DROP TABLE IF EXISTS result");
sql.execute("CREATE TABLE result(id INT, name VARCHAR(20), score INT)");
sql.execute("INSERT INTO result SELECT * FROM CSVREAD('test2.csv', 'id, name, score', 'UTF-8')");
sql.eachRow("SELECT * FROM result", { println "${it.id} ${it.name} ${it.score}"});


で、前回と同じように
groovy -classpath h2\bin\h2-1.1.116.jar test.groovy
と実行してみたところ、出てきた結果が

1,"アンドウ ヒロシゲ",80
2,"イトウ ヒロフミ",60
3,"ウキタ ヒデイエ",70
4,"エンドウ シュウサク",70
5,"オオタ ドウカン",80

となっており、まったく文字化けしていない。
Shift_JIS で出力されている。

どうやら、文字コードは groovy 内部で自動的に変換処理がされているようだ。
これが将来、変な落とし穴になりそうで、ちょっとだけ怖い。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
groovy から h2 を使ってみるテスト(2) 民芸的プログラミング 〜ソフトウェア開発日記〜/BIGLOBEウェブリブログ
文字サイズ:       閉じる