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

推薦する

HTML でよく使用されるエスケープ文字の概要

HTML でよく使用されるエスケープ文字をまとめると次のようになります。 &nbsp; 改行...

MySQL 8.0 アトミック DDL 構文の詳細な説明

目次01 アトミックDDLの紹介02 一部のDDL操作の実行動作の変更03 DDL 操作のログを表示...

Linux でのマルチスレッドプログラミング例の分析

1 はじめにスレッド技術は 1960 年代にすでに提案されていましたが、マルチスレッドがオペレーティ...

React antdはフォームの動的な増減を実現します

以前、動的フォームを記述しているときに落とし穴に遭遇しました。インデックスの添え字をキーとして使用す...

Tomcat の設定と Eclipse での起動方法

目次Tomcat8のインストールと設定方法tomcat ダウンロードTomcat マネージャーを有効...

MySQL におけるデータタイムとタイムスタンプの違い

MySQL には 3 つの日付型があります。日付(年-月-日)テーブル test(hiredate ...

CSSスプライト技術は複数の背景を1つのPNG画像に統合しますCSSポジショニング

アメリカのYAHOOがページ制作で使用している画像統合技術。これらのアイコン、列背景、画像ボタンを定...

CSS 線形グラデーション凹型長方形遷移効果の実装

この記事では、線形グラデーションの凹四角形の遷移効果の難しさやアイデアについて説明します。主に、凹四...

Linux システムでログを手動でスクロールする方法

ログローテーションは、Linux システムでは非常に一般的な機能です。ログローテーションは、システム...

HTML+CSSで充電水滴融合特殊効果コードを実現

目次序文:成し遂げる:要約:まず効果を見てみましょう: 序文:このアイデアは、Bilibili のア...

nginxワーカープロセスループの実装

ワーカープロセスは、起動されると、まず自身の動作に必要な環境を初期化し、次に実行する必要があるイベン...

...

HTML で #include ファイルを使用する例

a.htmとb.htmの2つのファイルがあります。同じディレクトリ内のa.htmの内容は次のとおりで...

Ubuntu 18.04 Linux システムに JDK と Mysql をインストールする方法

プラットフォームの展開1. JDKをインストールするステップ1. OracleJDKをダウンロードす...

Vueのミックスインと継承について詳しく説明します

目次序文ミキシンMixin ノート (重複名)ローカルミックスイングローバル ミックスイン継承するミ...