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

推薦する

ファイアウォールルールの設定とコマンド(ホワイトリスト設定)の詳しい説明

1. ファイアウォールルールを設定する例1: ポート8080を外部に公開する ファイアウォールコマン...

VUE+Canvasはデスクトップピンボールブロック破壊ゲームのサンプルコードを実装します

誰もがピンボールやレンガ崩しのゲームをプレイしたことがあるでしょう。左と右のキーを使用して、下にある...

SQL と NoSQL の違いのまとめ

主な違い: 1. タイプSQL データベースは主にリレーショナル データベース (RDBMS) とし...

Linux Crontab シェル スクリプトを使用して第 2 レベルのスケジュールされたタスクを実装する方法

1. シェルスクリプトcrontab.shを書く #!/bin/bash step=1 #ステップ間...

Linux CentOS 6.5 のアンインストール、tar、および MySQL のインストールチュートリアル

システム提供のMySQLをアンインストールする1. MySQLがシステムにインストールされているかど...

Oracle の MySQL バージョンでユーザー Scott のテーブル ステートメントを作成する例

概要: Oracle scottユーザーには4つのテーブルがあり、実験やデータ検証に便利です。現在は...

Vueのドラッグスクリーンショット機能を実装する簡単な方法

マウスをドラッグしてページのスクリーンショットを撮ります(指定した領域にスクリーンショットをドラッグ...

Centos7.3は起動時に自動的に起動または指定されたコマンドを実行します

Centos7では、/etc/rc.d/rc.localファイルの権限が削減されており、実行権限があ...

MySQLのCOUNT(*)のパフォーマンスについてお話しましょう

序文基本的に、職場のプログラマーは、count(*)、count(1)、または count(prim...

MySQL 接続例外とエラー 10061 の解決方法

MySQL は、スウェーデンの会社 MySQL AB によって開発されたリレーショナル データベース...

シェルスクリプトを使用したMySQLデータベースの自動バックアップ

シェルスクリプトを使用したMySQLデータベースの自動バックアップデータベースを頻繁にバックアップす...

HTTP および HTTP コラボレーション Web サーバー アクセス フロー図

Web サーバーは、独立したドメイン名を持つ複数の Web サイトを構築できるほか、通信経路上のトラ...

一般的な HTTP ステータス コード 10 個の詳細な説明

HTTP ステータス コードは、Web サーバーの HTTP 応答ステータスを示すために使用される ...

Windows での Tomcat サーバーのインストールに関するチュートリアル

1 ダウンロードして準備するまず、公式ウェブサイトからTomcatをダウンロードする必要があります。...