MySQLデータベース移行におけるデータ文字化けの問題を解決する

MySQLデータベース移行におけるデータ文字化けの問題を解決する

リーダーの指示のもと、Java プロジェクトを引き継ぎ、リファクタリングを行う必要がありました。同時に、プロジェクト全体の構成は情報イノベーションの要件を満たす必要がありました。
まず、次の 2 つの点を満たす必要があります。
1. 国内のデータベースDameng 8を使用してMySQLデータベースを置き換えます
2. コンテナの展開にTomcatの代わりにKingdeeミドルウェアを使用する

たゆまぬ努力により、DM8 データベースのローカル構築とインストールを完了し、コード フレームワーク内のデータベース ソースを変更して DM8 データベースを置き換えるデモ検証作業も完了しました。

ドライバークラス名: dm.jdbc.driver.DmDriver
    URL: jdbc:dm://10.0.3.132:5236/XC-SERVICE?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8
    ユーザー名: XC-SERVICE
    パスワード: 123456789

これでコードは正常に動作するようになりました。一部の SQL スクリプトを標準化する必要があることを除いて、他の問題はありません。

今最も重要なことはデータを移行することです。

つまり、mysql ライブラリを dm8 に移行することです。
移行方法: DAMO独自のデータベース移行ツールを使用する

ここに画像の説明を挿入

DAMOにはデータベース移行ツールが付属しています

データテーブル構造とデータ移行の影響

ここに画像の説明を挿入

移行が完了すると、データ テーブルの構造に問題はないが、中国語のデータがすべて文字化けしていることに驚かれるでしょう。

いろいろな方法を試し、Baiduで何度も検索しましたが、解決策が見つかりませんでした。その後、DAMOフォーラムに行って解決策を探すしかありませんでした。

ついに、データ移行後の文字化けの問題に対する魔法のような解決策を見つけました。

ここに画像の説明を挿入

データ移行ツールを使用してデータ ソースを構成する場合は、ドライバーの指定を選択します。

ここに画像の説明を挿入

URL アドレスを指定します:

jdbc:mysql://10.0.3.131:3306/sys-service?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai

同時に、Maven がローカル コンピューターにダウンロードするドライバーを指定します。

さて、これでデータを移行できます

移行が完了すると、データが正常で文字化けしていないことが魔法のようにわかります。 ! ! !

ここに画像の説明を挿入

追記

国産データベースとしては、DAMO はやはり良い製品ですが、ネット上の情報が少なすぎて、百度でも見つからないかもしれません。皆さんのお役に立てればと思い、この内容を書いています。

これで、MySQL データベースのデータ移行におけるデータ文字化けの問題を解決する方法についての記事は終わりです。MySQL 移行におけるデータ文字化けに関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL は ACID トランザクションをどのように実装しますか?
  • MySQLにおけるACIDトランザクションの実装原理の詳細な説明
  • MySQLの驚くべき暗黙の変換
  • MySQL の null 制約のケースの説明
  • MySQL 接続例外とエラー 10061 の解決方法
  • MySQL トランザクション制御フローと ACID 特性

<<:  Windows サービス 2016 Datacenter\Stand\Embedded アクティベーション方法 (2021)

>>:  CSS ペイント API: CSS のような描画ボード

推薦する

MySQLコマンドラインでSQLファイルを実行するいくつかの方法

目次最初の方法: MySQLデータベースが接続されていない場合2 番目の方法: データベースがすでに...

dockerでredis5.0.3をインストールする方法

1. 公式5.0.3イメージを取得する [root@localhost ~]# docker pul...

MySQLデータベースでスロークエリログを有効にする方法の詳細な説明

データベースはスロークエリログを有効にします設定ファイルを変更する設定ファイルmy.iniに次の2つ...

geoip を使用して nginx で地域を制限する方法

このブログは仕事のメモです環境: nginx バージョン: nginx/1.14.0 Centos ...

VMware、nmap、burpsuite インストール チュートリアル

目次VMware バープスイート1. 仮想マシンイメージとVMwareのインストールと使用2. 仮想...

Vue はネストされたルーティングメソッドの例を実装します

1. ネストされたルーティングはサブルーティングとも呼ばれます。実際のアプリケーションでは、通常、ネ...

SQL における参照整合性の詳細な説明 (1 対 1、1 対多、多対多)

1. 参照整合性参照整合性とは、主に外部キー制約を使用した複数のテーブル間の設計を指します。複数テ...

CSS スタイルのリセットとクリア (異なるブラウザで同じ効果を表示するため)

異なるブラウザ間でページの表示を一致させるためには、フロントエンド開発において CSS スタイルのク...

VMware に CentOS7 をインストールし (静的 IP アドレスを設定)、Docker コンテナ経由で mySql データベースをインストールする (非常に詳細なチュートリアル)

2 年生から、これらのインストールと設定の仕方を尋ねられました。簡単なチュートリアルを作成し、ここ...

一般的な JavaScript 文字列メソッド 28 個と使用方法のヒントのまとめ

目次序文1. 文字列の長さを取得する2. 文字列の指定された位置の値を取得する(1) charAt(...

@font-face を使用して Web ページに特殊文字を実装する (カスタム フォントを作成する)

数日前、CSS を使用して三角形の矢印を実装する方法について記事を書きました。 目的の効果は達成され...

MySQLはイベントを使用してスケジュールされたタスクを完了します

イベントでは、SQL コードを 1 回または一定の間隔で実行することを指定できます。通常、複雑な S...

リバースプロキシ設定を実装するためのユニバーサルnginxインターフェース

1. プロキシサーバーとは何ですか?プロキシ サーバーは、クライアントが要求を送信すると、それを直接...

スーパーバイザーを使用して nginx + tomcat コンテナを管理する例

必要: docker を使用して nginx + tomcat デュアル プロセスを起動します。実際...

純粋な CSS でフォ​​ーム検証を実装するためのサンプル コード

日常業務において、フォームの検証は非常に一般的な設計要件です。ログイン ボックスや登録ボックス、アン...