JDBCはmysqlと接続して中国語を処理する時文字化けの解決方法を処理します。


JDBCはmysqlと接続して中国語を処理する時文字化けの解決方法を処理します。
最近、統合されたプロジェクトは古いバージョンのmysqlサーバと接続し、navicatを使って確認する必要があります。このmysqlサーバはデフォルトのコードが設定されていないようです。また、このmysqlを操作している部分phpファイルから見て、使うべきgb 2312のコードです。
最初に、類似のentity.set DepartName(new String(rs.get String).getBytes(gbk),"utf-8"を使用します。強制的に符号化変換をしようとしましたが、失敗しました。どんな方式を採用しても、回転した文字はいつも様々な文字化があります。毎回乱れている方式は違います。うっとうしいです。また、このプロジェクトは他の製品を使っていますので、この中にフィルターのようなものを追加することはできません。
navicatを使って接続して調べても大丈夫です。だから、あるテーブルをsqlに導いてみて、DDLにコードに関する設定があるかどうか確認してみました。そこで、導出したsqlファイルをhtmlに修正し、IEで開けば、文字化けがないことに気づき、この時の符号化フォーマットはやはり「gb 2312」であることを確認したが、javaを使って強制的にトランスコードしても無駄である。どうすればいいですか?
それに、このプロジェクトはもう何年も运営しています。后期メンテナンスが不足しています。
ふと思い出したのですが、mysqlを接続するときはパラメータを追加して符号化を指定するパラメータがあります。これで問題が解決できますか?
接続文字列を変更します。(元の値はurl="jdbc:mysql://192.168.18.254:3306/web_oa)は、

url="jdbc:mysql://192.168.18.254:3306/web_oa?useUnicode=true&characterEncoding=gbk"
再起動アプリケーション、確認、OK!中国語は正常です。
問題が解決する。
このような方法は実際には、接続時にgbkを使用する符号化フォーマットを指定して、クライアントとサービス側がそれぞれ自分のデフォルトの符号化フォーマットを使用してインタラクションしないようにします。
疑問があれば、メッセージをお願いします。あるいは、当駅のコミュニティで交流して討論してください。ありがとうございます。