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 コンテナのネットワーク設定によく使われるコマンドの詳しい説明

推薦する

Dockerイメージを構築する2つの方法

目次既存のイメージからイメージを更新します。イメージを最初から構築する: Docker イメージ リ...

Windows (x86、64 ビット) で MySQL 5.7.17 無料インストール バージョンをアップグレードするための詳細なチュートリアル

Laravel 5.4 のデフォルトの utf8mb64 文字エンコーディングをサポートするには、M...

Centos7 FFmpeg オーディオ/ビデオ ツールのインストールに関する簡単なドキュメント

ffmpeg は非常に強力なオーディオおよびビデオ処理ツールです。公式 Web サイトは http:...

InnoDB エンジンのパフォーマンスを最適化するための my.cnf パラメータ構成

私はインターネット上で数え切れないほどの my.cnf 構成を読みましたが、言及されている構成のほと...

div画像マーキーシームレス接続実装コード

コードをコピーコードは次のとおりです。 <html> <ヘッド> <ス...

JS で async と await を使用する方法

目次1. 非同期2. 待つ: 3. 包括的なアプリケーション1. 非同期async 、非同期コードが...

Dockerのセキュリティについて Docker-TLS暗号化通信の問題

目次1. Dockerのセキュリティ問題2. Dockerアーキテクチャの欠陥とセキュリティメカニズ...

Vue カプセル化 TabBar コンポーネントの完全なステップ記録

目次実装のアイデア:ステップ 1: TabBar と TabBarItem のコンポーネント カプセ...

DockerがElasticsearch7.xを起動してエラーを報告する問題を解決する

Docker実行コマンドの使用docker run -d -p 9200:9200 -p 9300:...

JavaScript キャンバス テキスト クロック

この記事では、テキストクロックを実装するためのキャンバスの具体的なコードを例として紹介します。具体的...

Vue3 での watchEffect の使用に関する簡単な分析

序文誰もが vue2 の watch API に精通している必要があります。vue2 の vue イ...

Linux におけるドライバモジュールのパラメータ転送プロセスの分析

ドライバーモジュールに渡すパラメータ名、タイプ、権限を宣言します。 module_param(変数名...

ウェブページを作る前に、これらのいわゆる仕様を見てみましょう

この記事では、Web ページを作成する前に確認すべき、いわゆる仕様をいくつかまとめました。皆様のお役...

Vue ページをリフレッシュするために provide と injection を適用する

目次方法1: 関数を直接呼び出す方法2: provide / inject (静的更新) を使用する...

シンプルなカウントダウン効果を実現するJavaScript

この記事の例では、カウントダウン効果を実現するためのJavaScriptの具体的なコードを参考までに...