JDBC が MySQL に接続して中国語を処理するときに文字化けする問題の解決方法の詳細説明 最近、統合プロジェクトは古いバージョンのMySQLサーバーに接続する必要があります。Navicatを使用して確認すると、このMySQLサーバーにはデフォルトのエンコードが設定されていないようで、このMySQLを操作するいくつかのPHPファイルからはgb2312エンコードを使用しているはずです。ただし、JDBC操作を直接使用すると、データベースから読み取られた中国語の文字がすべて文字化けします。 最初は、entity.setDepartName(new String(rs.getString("hg").getBytes("gbk"), "utf-8")); などのメソッドを使用してエンコーディング変換を強制しようとしましたが、どの方法を使用しても変換された文字は常に文字化けしてしまい、文字化けの仕方が毎回異なっていたため、失敗しました。かなり落ち込んでいます。さらに、このプロジェクトでは他の製品を使用しているため、フィルターなどの追加機能を追加することはできず、この問題に対処するのは簡単ではありません。 Navicat を使用して接続およびクエリを実行する際に問題は発生しなかったため、テーブルを SQL にエクスポートして、DDL にエンコード設定があるかどうかを確認してみました。エンコードがまったく記述されていなかったため、結果は残念なものでした。そこで、エクスポートした sql ファイルの拡張子を html に変更し、IE で開いてみると、文字化けしたコードはありませんでした。エンコード形式を確認すると、「gb2312」であることがわかりました。ただし、Java を使用して強制的にトランスコーディングしても効果はありませんでした。どうすればいいですか? さらに、このプロジェクトは長年にわたって実行されており、事後のメンテナンスが不足しています。my.ini ファイルを表示および変更することはできません。 突然、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 エンコード形式を指定するため、クライアントとサーバーが独自のデフォルトのエンコード形式を使用して対話することがなくなります。構成が適切である限り、コードが文字化けする問題は発生しません。 ご質問がありましたら、メッセージを残すか、コミュニティに参加して話し合いましょう。お読みいただきありがとうございます。お役に立てれば幸いです。このサイトをサポートしていただき、ありがとうございます。 以下もご興味があるかもしれません:
|
<<: Ubuntu 16.04 64 ビット版の VMware Tools のインストールと構成のグラフィック チュートリアル
>>: React setStateデータ更新メカニズムの詳細な説明
目次1. クロスドメインフィルタ CorsFilter 1.1 設定例1.2 パラメータの説明2. ...
ナビゲーションバーの作成:技術要件: CS HTMLタグ達成目的:ナビゲーションバーメニューの作成コ...
3D座標の概念要素が回転すると、その座標軸も一緒に回転します。注 -y方向の問題立方体を回転させる効...
商品を検索するときに、すべてのブランドまたは一部のブランドを表示するTaobaoの機能を真似してみま...
CSS 3.0 とビデオを組み合わせて実現したクリエイティブなオープニングをご紹介します。効果は次の...
コマンドライン mysqld –skip-grant-tables は mysql8 では正常に起動...
ソースコード(一部のクラスは削除されています):コードをコピーコードは次のとおりです。 <テー...
この記事では、例を使用して MySQL ビューの機能と使用方法を説明します。ご参考までに、詳細は以下...
この記事では、期間限定フラッシュセール機能を実装するためのJavaScriptの具体的なコードを参考...
オーバーフロー非表示指定された高さを超えるテキストや画像情報を非表示にすることを意味します。 <...
1. カラーマッチング効果のプレビュー下の GIF に示すように、ボタンの背景色が徐々に薄くなると...
Docker は、次の CentOS バージョンでの実行をサポートしています。 • CentOS 7...
目次序文1. 配列走査法1. 各() 2. マップ() 3. 〜のために4. フィルター() 5. ...
目次1. 計算されたプロパティ1.1 基本的な例1.2 計算プロパティキャッシュとメソッド1.3 計...
目次紹介とデモAPI: コンテナ財産ライフサイクルコールバックイベントAPI: ドラッグ可能実際の戦...