Mysqlデータベースの文字化けに対処する方法

Mysqlデータベースの文字化けに対処する方法

MySQL では、データベースの文字化けは一般的に文字セットを設定することで修正できますが、文字化けはさまざまな段階で発生する可能性があるため、この記事では文字化けのさまざまな段階とそれに応じた対処法をまとめます。

データベース/テーブルの作成時に文字セット設定を追加する

データベースの構築

CREATE DATABASE 數據庫名稱DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

テーブルを作成する

create table 表名(字段構成詳細列表信息) default charset=utf8;

クライアントディスプレイ

ロケール

ロケール設定が UTF8 になっているか確認してください。通常、サーバー側に問題はなく、クライアント側にのみ問題があります。または、一部のクライアントに問題が発生する場合があります。これは、多くの場合、クライアントの表示設定の問題が原因です。

確認命令:locale

MySQLの設定

確認するには、「%character%」などの show variables を使用します。通常、character_set_database および character_set_server を変更すると、現在のセッションの設定のみを変更できます。

mysqlコマンドを使用してセッション内の文字セットを設定します

確認命令(mysql):show variables like '%character%'

ローカル設定

現在のセッションでのみ機能します。設定方法は次のとおりです。

set character_set_database=utf8

グローバル設定

複数セッションを動作させるための設定方法は次のとおりです。

set global character_set_database=utf8

もちろん、データベースを再起動するとセッション モードは無効になるため、永続化する必要があります。同じ設定を MySQL 構成ファイル my.cnf で設定できます。

このように、データベースを作成するときやデータベーステーブルを作成するときには、デフォルトで utf8 が指定されます。

純粋に表示の問題である場合、多くの場合、character_set_results の設定が原因である可能性があります。

確認するには、「%character%」のような変数を表示します。設定が間違っている場合は、次の方法で解決できます。

set character_set_results='utf8';

データベースデータのエクスポート

通常、mysqldumpを使用してデータベースをエクスポートするには、次のコマンドを使用します。

mysqldump -u用戶名-p用戶密碼數據庫名稱>mysqlbackup.sql

文字化けした場合は、次のオプションを追加できます。

mysqldump -u用戶名-p用戶密碼--default-character-set=utf8 數據庫名稱>mysqlbackup.sql

blob型が含まれている場合は、mysqldumpをエクスポートするためにhex-blobオプションを使用する必要があります。

mysqldump -u用戶名-p用戶密碼--hex-blob 數據庫名稱>mysqlbackup.sql

データベースデータのインポート

インポート時に問題がある場合は、文字レベルの設定を追加することも検討してください。

mysql -u用戶名-p用戶密碼--default-character-set=utf8 數據庫名稱<mysqlbackup.sql

以下の方法を使用して、インポートする前に次のコマンドを実行することもできます。

set names utf8;

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • MySQL 5.x の文字化け問題の解決方法
  • MYSQL の解凍版における中国語の文字化け問題の解決方法
  • MySQL を使用してデータベース データを取得するときに中国語の文字化けが発生する問題を解決する方法
  • PHP で文字化けした中国語の文字を MySQL に書き込むためのサンプル ソリューション
  • MySQL 文字セットの文字化けとその解決方法
  • Linux での MySQL の文字化け問題の解決方法
  • MySQL にテーブルデータを挿入するときに中国語の文字化けが発生する問題を解決する方法
  • Linux 上の Tomcat で MySQL にデータを挿入するときに中国語の文字化けが発生する問題を解決する
  • JDBC 接続 mysql の文字化けしたコード例外問題の処理の概要
  • MySQL の DOS ウィンドウの文字化け問題を解決する方法

<<:  ES9の新機能の詳細な説明: 非同期反復

>>:  Docker コンテナのネットワーク設定によく使われるコマンドの詳しい説明

推薦する

VMware 上の CentOS に Oracle12.2 をサイレント インストールする詳細なグラフィック チュートリアル

環境準備: VMware+CentOS、jdk 1. システムディスクのサイズを確認する1. コマン...

docker の実行に必要な権限の分析

Docker を実行するには root 権限が必要です。非 root ユーザーに docker コマ...

Vueはフィルターを使用して日付をフォーマットします

この記事では、フィルターを使用して日付をフォーマットするVueの具体的なコードを参考までに紹介します...

MySQLデータベースのストアドプロシージャとトランザクションの違い

トランザクションは、複数の SQL ステートメントの原子性、つまり、それらが一緒に完了するか、一緒に...

MySQL マルチバージョン同時実行制御 MVCC の詳細な研究

MVCC MVCC (Multi-Version Concurrency Control) は、マル...

この記事ではCSSの組み合わせセレクターの使い方を説明します

CSS 組み合わせセレクターには、単純なセレクターのさまざまな組み合わせが含まれます。 CSS3 に...

DockerでVueプロジェクトをデプロイする方法を教えます

1.前面に書きます:軽量仮想化テクノロジーとして、Docker には継続的インテグレーション、バージ...

MySQL SHOW STATUSステートメントの使用

MySQL のパフォーマンス調整とサービス ステータスの監視を行うには、MySQL の現在の実行状態...

nginx を使用したプロキシ サーバーの設定

Nginx は、リバース プロキシ機能を使用して負荷分散を実装できるほか、フォワード プロキシ機能を...

jsオブジェクト指向カプセル化カスケードドロップダウンメニューリストの実装手順

この例で開発されたカスケード ドロップダウン メニューは、既存の JSON データに基づいて作成され...

MySQL 8.0.13 のインストールと設定のグラフィックチュートリアル

Msyqlデータベースのインストール、参考までに具体的な内容は次のとおりです。 ①ブラウザでhttp...

Mysql一時テーブルの原理と作成方法の分析

この記事は主にMysql一時テーブルの原理と作成方法を紹介します。この記事のサンプルコードは非常に詳...

MySQL のデータの偶発的な削除の解決策と kill ステートメントの原則

mysql が誤ってデータを削除しました削除ステートメントを使用して誤ってデータ行を削除する誤ってデ...

Win10 での MySQL 8.0.16 のインストールと設定のチュートリアル

1. MySQL 8.0.16を解凍する次の図に示すように、解凍後にdadaフォルダとmy.ini構...

MySQL シャーディングの詳細

1. ビジネスシナリオの紹介MySQLを使用する電子商取引システムがあるとします。大量のデータを保存...