前提・実現したいこと
Firebirdに接続し、SELECT文を実行してDBから情報を取得したい。
発生している問題・エラーメッセージ
DBから情報を取得した際に日本語が文字化けしている。
試したこと
Firebird側で指定している文字コードが
CHARACTER SET UNICODE_FSS
だったので、UTF-8に変換する必要があると思い(Javaのデフォルト文字コードがUTF-8のため)
調べたところ、UTF-8に変換するのに最も簡単なものとして、ドキュメントに以下があげられていた。
Class.forName("org.firebirdsql.jdbc.FBDriver"); Connection connection = DriverManager.getConnection( "jdbc:firebirdsql:localhost/3050:employee?encoding=UTF8", "SYSDBA", "masterkey");
自身のコードでは
"jdbc:firebirdsql:localhost/3050:employee"
となっていたため"jdbc:firebirdsql:localhost/3050:employee?encoding=UTF8"
に修正した。
すると、今度は以下のエラーが出力されるようになった。
org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544321. arithmetic exception, numeric overflow, or string truncation Cannot transliterate character between character sets
なぜUTF-8に変換できないのでしょうか?
補足情報(FW/ツールのバージョンなど)
Firebird2.0
Windows10
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。