MySQLの挿入文字化け問題を解決する方法

MySQLの挿入文字化け問題を解決する方法

問題の説明:

MySQL に中国語の文字を挿入する場合、または MySQL では中国語の文字が正常に表示されますが、jsp がフォアグラウンドで MySQL に中国語の文字を表示する場合、文字化けします。

解決:

mysql コンソールに入り、次のコマンドを実行します。

character_set_client='utf8' を設定します。
文字セット接続を 'utf8' に設定します。
文字セット結果='utf8'を設定します。

その他のソリューション:

クライアントクライアントが使用する文字セット。
繋がりデータベースに接続するための文字セット タイプを設定します。プログラムがデータベースへの接続に使用する文字セット タイプを指定しない場合は、サーバーのデフォルトの文字セットが使用されます。
データベースデータベース サーバーのライブラリで使用される文字セット。ライブラリの作成時に指定されていない場合は、サーバーのインストール時に指定された文字セットが使用されます。
結果クライアントにデータを返すときにデータベースが使用する文字セット。指定しない場合は、サーバーのデフォルトの文字セットが使用されます。
サーバサーバーのインストール時に指定されるデフォルトの文字セット。
システムデータベース システムで使用される文字セット。

CMD クライアント入力では GBK エンコードが使用されますが、データベース エンコード形式は UTF-8 です。エンコードが一貫していないため、文字化けが発生します。 CMD クライアントの現在のエンコード形式は変更できないため、接続、クライアント、結果のエンコード セットを変更して、現在挿入されているデータが GBK エンコードを使用していることをサーバーに通知することしかできません。サーバー データベースは UTF-8 エンコードを使用していますが、サーバーに通知された GBK エンコードされたデータを認識し、自動的に UTF-8 に変換して保存できます。次のステートメントを使用すると、クライアントに関連するエンコーディング セットをすばやく設定できます。
名前を設定する gbk;

設定が完了すると、クライアントに挿入または表示されるデータの文字化けの問題が解決されますが、この形式の設定は現在のウィンドウでのみ有効であることがすぐにわかります。ウィンドウを閉じて CMD クライアントを再度開くと、文字化けの問題が再び発生します。では、一度で設定を完了するにはどうすればよいでしょうか。 MySQL インストール ディレクトリには、my.ini 構成ファイルがあります。この構成ファイルを変更することで、文字化けの問題を完全に解決できます。この設定ファイルでは、[mysql] はクライアント設定に関連し、[mysqld] はサーバー設定に関連します。デフォルトの設定は次のとおりです。

[mysql]
デフォルトの文字セット=utf8
[mysqld]
文字セットサーバー=utf8

この時点では、デフォルトのエンコーディング default-character-set=utf8 を default-character-set=gbk に変更し、MySQL サービスを再起動するだけです。

これで、MySQL 挿入文字化け問題を解決する方法についての記事は終了です。MySQL 挿入文字化け問題を解決する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQLを閉じることができない問題を解決する方法
  • MySQLデータベースが予期せずクラッシュし、テーブルデータファイルが破損して起動できなくなる問題を解決します。
  • この記事では、Django 2.2とMySQLの互換性の問題を解決します。
  • MySQL から Excel にテーブルデータをエクスポートする際の日時形式に関する簡単な説明
  • MySQLからデータをインポートする際の不正なフォーマット、インポートの遅延、データ損失などの問題を迅速に解決します。
  • MySQL からエクスポートされた scv ファイル内の文字化けやジャンプ行の問題をすばやく解決します
  • Docker の MySQL コンテナのタイムゾーン問題の修正
  • pyMySQL SQL ステートメントのパラメータ渡しの問題、単一パラメータまたは複数パラメータの説明
  • MySQL 5.7.30 のインストールとアップグレードの問題に関する詳細なチュートリアル
  • MySQLデータ遅延ジャンプの問題の解決策

<<:  Linux Zabbixカスタム監視およびアラーム実装プロセスの分析

>>:  js でシンプルなタブを実装する

推薦する

CentOS で LibreOffice を使用してドキュメント形式を変換する方法

プロジェクト要件では、アップロードされたドキュメントの前処理が必要です。ユーザーが doc 形式でド...

Vue2.0/3.0双方向データバインディングの実装原理の詳細説明

Vue2.0/3.0双方向データバインディングの実装原理双方向データバインディングとは、データの変更...

Nginxを使ってサーバー内で複数コンテナの共存を実現する方法

背景Tencent Linux クラウド ホストがあり、その上に Docker (ServiceDo...

MySQL のテーブル内のレコード数を制限する方法

目次1. トリガーソリューション2. パーティションテーブルソリューション3. 一般的な表領域ソリュ...

JavaScript が重複したネットワークリクエストを防ぐ方法の例

序文開発中は、インターフェース要求の繰り返しによってさまざまな問題が発生することがよくあります。ネッ...

Vueは新しいウィンドウを開き、パラメータ転送のグラフィック例を実装します。

私が実現したい機能は、新しいウィンドウを開いて新しいページを表示することですが、パラメータを渡す必要...

docker を使用して influxdb と mongo をデプロイするための一般的なコマンド

Docker ベースのデータベースをデプロイするsudo docker pull influxdb ...

Presto をインストールし、Docker で Hive を接続する詳細なプロセス

1. はじめにPresto は、ギガバイトからペタバイトに及ぶデータ ソースに対してインタラクティブ...

Nodejs 組み込み暗号化モジュールを使用してピアツーピアの暗号化と復号化を実現する詳細な説明

暗号化と復号化は、通信のセキュリティを確保するための重要な手段です。すでに多くの暗号化アルゴリズムが...

Uniapp WeChatアプレット: キー障害の解決策

ユニアプリコード <テンプレート> <表示> <image v-for...

Linux ユーザー状態とカーネル状態間の通信方法の詳細な説明

CPU 権限の制限により、Linux ユーザー状態とカーネル状態間の通信は、プロセス間通信を使用した...

MYSQLクエリデータの結果に自動的に番号を付ける方法

序文実際、クエリ中に結果に番号が付けられるこのような状況に遭遇したことは一度もありません。同僚が転職...

Vueカスタムv-has命令、ボタン権限判定の手順

目次アプリケーションシナリオ簡単に言えば、カスタム指示基本概念グローバルカスタマイズローカルカスタマ...

Mysql5.7 のルートパスワードを忘れた場合の対処法 (シンプルで効果的な方法)

前回の記事では、MySQL 5.7でルートパスワードを忘れた場合と、MySQL 5.7でルートパスワ...

Vueでaxiosを簡単にカプセル化する方法

Vueにaxiosを挿入する 'axios' から axios をインポートします。...