0

誰かが私のような同じ問題を抱えていたかどうかを尋ねるのが好きです:

UTF-8のエンコーディングでプロジェクトを開始しました(デフォルトのプロジェクトのエンコーディングでした)。しかし、私は中央ヨーロッパ出身なので、エンコーディングを Unicode に変更するJOptionPane.showMessageDialog()ことにしました。これは、 Windowsでのみ英語のアルファベットを使用したくなかったためです。
私のアプリケーションもデータベースに接続し、文字セットをUnicode接続に変更した後、突然動作しませんでした

com.mysql.jdbc.CommunicationsException:
Communications link failure due to underlying exception


次に、文字セットを UTF-8 に戻してテストすると、アプリケーションは再び接続できるようになりました。UTF-8 と Unicode で接続文字列の文字位置が異なる場合は比較しましたが、同じです!

私の質問は次のとおりです。接続の問題を回避したい場合、プロジェクトで東ヨーロッパのアルファベット (デフォルトの UTF-8 とは異なる文字セット) を使用するにはどうすればよいですか?

4

1 に答える 1

0

UTF-8 はスロバキア語アルファベットのすべての記号をカバーしていないため、文字セットを UTF-16 に変更することにしました。コンパイル後、特定のスロバキア文字の一部が、予想どおり UTF-8 で異なって表示されます。
私が理解していないのは、charsetをUTF-16に変更するとjdbc:mysql://localhost/db_name?user=root&password=password、ASCIIコードテーブルのみのシンボルを含む接続文字列(のように見える)が変更され、プログラムが接続できないということです...
latin2とWindows-1250 中央ヨーロッパの文字を接続して使用しても問題ありません。Unicode が NetBeans 7.2 でこのような問題を引き起こすのは、何らかのバグですか?

于 2013-01-17T09:23:02.013 に答える