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

推薦する

MySQLでMyISAMストレージエンジンをInnodbに変更した操作記録のまとめ

一般的に、MySQL はデフォルトでさまざまなストレージ エンジンを提供しており、次のように表示され...

MySQL 5.7.17 圧縮パッケージのインストール不要の構成プロセス図

MySQL データベース管理ソフトウェアには、エンタープライズ エディションとコミュニティ エディシ...

1 つ以上のフィールドに基づいて重複データを検索する MySQL SQL ステートメント

SQLはテーブル内の重複レコードをすべて見つけます1. テーブルには id と name の 2 つ...

Nginx Rewrite の使用シナリオとコード例の詳細な説明

Nginx Rewriteの使用シナリオ1. URL アドレスジャンプ。たとえば、ユーザーが pm....

Windows Server 2008R2、2012、2016、2019 の違い

目次共通バージョンの紹介共通バージョンのダウンロードアドレスとインストール以下に簡単な違いを示します...

入力ボックスのオートコンプリート機能をオフにする

これで、autocomplete と呼ばれる input の属性を使用できるようになりました。オート...

Navicat for MySQL 11 登録コード\アクティベーションコードの概要

おすすめの読み物: Navicat12.1シリーズのクラッキングとアクティベーションのチュートリアル...

Vue+Elementバックグラウンド管理フレームワークの統合実践

目次Vue+ElementUI バックグラウンド管理フレームワークでは、ElementUI とは何で...

Vue の DOM の非同期更新の簡単な分析

目次Vue が DOM を非同期更新する原理1 実際の DOM 要素を取得できるのはいつですか? 2...

JavaScript ループトラバーサルの 24 種類のメソッドをすべてご存知ですか?

目次序文1. 配列走査法1. 各() 2. マップ() 3. 〜のために4. フィルター() 5. ...

DockerはGitを使用してJenkinsのリリースとテストプロジェクトの詳細なプロセスを実装します

目次1. Dockerをインストールする2. カスタムネットワークアドレスを作成する3. Docke...

AWSサーバーリソースを無料で使用する方法を教えます

AWS - Amazon のクラウド コンピューティング サービス プラットフォーム以前、AWS の...

10分でDockerを使ったマイクロサービスのデプロイ方法を学ぶ

Docker は 2013 年のリリース以来、広く注目され、ソフトウェア業界を変える可能性を秘めてい...

Kubernetes オブジェクトボリュームの詳細な使用方法

概要ボリュームは、さまざまなストレージ リソースを抽象化および仮想化したものです。ストレージ リソー...

W3C チュートリアル (14): W3C RDF および OWL アクティビティ

RDF と OWL は、2 つの重要なセマンティック ウェブ テクノロジーです。 RDF と OWL...