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 でシンプルなタブを実装する

推薦する

HTML webpackプラグインの使用に関する簡単な分析

html-webpack-pluginプラグインを使用してページを開始すると、htmlページをメモリ...

MySQL での order by の使用に関する詳細

目次1. はじめに2. 本文2.1 単一列のソート2.2 複数の列を並べ替える2.3 ソート方法2....

mysql バッチで大量のデータを削除する

mysql バッチで大量のデータを削除する1000万件のレコードを持つテーブル(syslogs)があ...

クラウドネイティブテクノロジー Kubernetes (K8S) の紹介

目次01 Kubernetes とは何ですか? 02 KubernetesとCompost+Swar...

JavaScript エラー処理 try..catch...finally + は throw+TypeError+RangeError をカバーします

目次1. 目的2. 文法3. 練習する1. 目的通常、エラーが発生すると、スクリプトは直ちに停止し、...

LinuxでRPMを使用してmysql5.7.17をインストールする

LinuxでのMySQL5.7 rpmのインストール方法を参考までに記録します。具体的な内容は以下の...

MySql カンマ連結文字列クエリの 2 つの方法

次の2つの関数は、 FIND_IN_SETと同じように使用されます。使用する場合、 FIND_IN_...

JavaScript配列の一般的なメソッドの詳細な説明

目次一般的な配列メソッドポップ()シフト解除()シフト()スライス()スプライス()配列から重複した...

MySQLインデックスに関する詳細を共有する

数日前、同僚からMySQLのインデックスについて質問を受けました。大体わかっているのですが、まだ練習...

JavaScript クロージャの説明

目次1. クロージャとは何ですか? 2. クロージャの役割2.1) メモリ2.2) プライベート変数...

Vueライフサイクルの違いの詳細な説明

ライフサイクル分類vue の各コンポーネントは独立しており、各コンポーネントには独自のライフサイクル...

Nginx は高可用性クラスタ構築を実装します (Keepalived+Haproxy+Nginx)

1. コンポーネントと実装機能Keepalived: Haproxy サービスの高可用性を実現し、...

Bootstrapグリッドの垂直および水平配置の詳細な説明

目次1. Bootstrap グリッドレイアウト2. 垂直方向の配置2.1 行タグの垂直方向の配置を...

CSS でより美しいリンクプロンプト効果をカスタマイズする方法

提案: コードをできるだけ手書きすると、学習の効率と深さを効果的に向上できます。デフォルトでは、&l...

Linux サーバー上の hosts ファイル構成の詳細な説明

Linux サーバーのホスト ファイルの構成hosts ファイルは、Linux システム内の IP ...