MySQL 5.x の文字化け問題の解決方法

MySQL 5.x の文字化け問題の解決方法

MySQL はよく使われるオープンソースのデータベース ソフトウェアですが、初めてのユーザーにはあまり使いやすくないようです。MySQL5.x バージョンのデフォルトの文字セットは latin1 で、これは私たちが知っている ISO-8859-1 文字セットです。この文字セット エンコーディングには中国語の文字が含まれていないため、使用すると中国語の文字が文字化けして表示されます。これは、データベースのデフォルトの文字セットを変更することで解決できます。

MySQL コマンドラインを入力します:

mysql> '%colla%' のような変数を表示します。
+----------------------+-------------------+
| 変数名 | 値 |
+----------------------+-------------------+
| 照合接続 | gbk_chinese_ci |
| 照合データベース | latin1_swedish_ci |
| 照合サーバー | latin1_swedish_ci |
+----------------------+-------------------+
セットに 3 行、警告 1 件 (0.00 秒)

mysql> '%char%' のような変数を表示します。
+--------------------------+----------------------------------------------------------------------+
| 変数名 | 値 |
+--------------------------+----------------------------------------------------------------------+
| 文字セットクライアント | gbk |
| 文字セット接続 | gbk |
| 文字セットデータベース | latin1 |
| 文字セットファイルシステム | バイナリ |
| 文字セット結果 | gbk |
| 文字セットサーバー | latin1 |
| 文字セットシステム | utf8 |
| 文字セットディレクトリ | C:\Program Files\MySQL\MySQL Server 5.7\share\charsets\ |
+--------------------------+----------------------------------------------------------------------+
セット内の行数は 8 行、警告数は 1 (0.00 秒)

デフォルトの文字セットがlatin1になっていることがわかります。

MySQL 構成ファイルを見つけます。Windows の構成ファイルは my.ini です。私のコンピュータは C:\ProgramData\MySQL\MySQL Server 5.7 にあります。Linux で変更する必要があるファイルは my.conf です。具体的なパスは実際のインストール場所によって異なります。次のノードでそれぞれ構成を変更します。

私が使用している 5.7 の [client] ノードの設定を追加する必要があり、他の 2 つのノード [mysql] と [mysql] はコメントを開いて utf8 に変更する必要があります。

[クライアント]
デフォルトの文字セット=utf8
[mysql]
デフォルトの文字セット=utf8
[mysql]
文字セットサーバー=utf8

次にMySQLを再起動します

ネットストップmysql
ネットスタートMySQL

文字セットを再度確認すると、すべてがutf8文字セットに変更されています

mysql> '%colla%' のような変数を表示します。
+----------------------+-----------------+
| 変数名 | 値 |
+----------------------+-----------------+
| 照合接続 | gbk_chinese_ci |
| 照合データベース | utf8_general_ci |
| 照合サーバー | utf8_general_ci |
+----------------------+-----------------+
セットに 3 行、警告 1 件 (0.00 秒)

mysql> '%char%' のような変数を表示します。
+--------------------------+----------------------------------------------------------------------+
| 変数名 | 値 |
+--------------------------+----------------------------------------------------------------------+
| 文字セットクライアント | gbk |
| 文字セット接続 | gbk |
| 文字セットデータベース | utf8 |
| 文字セットファイルシステム | バイナリ |
| 文字セット結果 | gbk |
| 文字セットサーバー | utf8 |
| 文字セットシステム | utf8 |
| 文字セットディレクトリ | C:\Program Files\MySQL\MySQL Server 5.7\share\charsets\ |
+--------------------------+----------------------------------------------------------------------+
セット内の行数は 8 行、警告数は 1 (0.00 秒)

エンコードの一貫性を確保するために、データベースまたはテーブルを作成するときに文字セットを指定し、接続文字列の後に接続パラメータを指定することもできます。

?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQL 8.0.24 バージョンのインストールと設定方法のグラフィックチュートリアル
  • MySQL 8.0.24 リリースノートのいくつかの改善点
  • MySQLのMVCCマルチバージョン同時実行制御の実装
  • MySQL 8.0.23のルートパスワードをリセットするための最適なソリューション
  • MySql8.0バージョンに接続するMyBatisの設定問題について
  • SeataがMySQL 8バージョンを使用できない問題を解決する方法
  • DBeaver を MySQL バージョン 8 以降に接続し、起こりうる問題を解決する方法の詳細な説明
  • IDEA で mysql8.0.3 と mybatis-generator を使用する際に発生するバグ
  • CentOS 7 に MySQL 8.0.20 データベースをインストールするための詳細なチュートリアル
  • Mysql5.7 以降での ONLY_FULL_GROUP_BY エラーの解決方法
  • mysql8.0.19 winx64バージョンのインストール問題を解決する
  • Django 2.2 と PyMySQL バージョンの互換性の問題
  • MySQL 5.7 をバイナリモードでインストールし、Linux でシステムを最適化する手順
  • MySQL 8.0.18 のさまざまなバージョンのインストールとインストール中に発生した問題 (要点の要約)
  • MySQLのバージョンアップ方法を超詳しく解説

<<:  Dockerに関するよくある質問

>>:  Vueはツリー構造の追加、削除、変更、チェックのサンプルコードを実装します

推薦する

JavaScript キャンバスで動的な点と線の効果を実現

この記事では、動的な点と線の効果を実現するためのJavaScriptキャンバスの具体的なコードを参考...

TypeScript デコレータ定義

目次1. コンセプト1.1 定義1.2 デコレータファクトリー1.3 デコレータの組み合わせ1.4 ...

ユーザーがフォームを繰り返し送信するのを防ぐ方法の概要

重複したフォーム送信は、マルチユーザー Web アプリケーションで最も一般的で厄介な問題です。重複送...

CSSファイルをインポートする3つの方法の詳細な説明

CSS を導入する方法には、インライン スタイル、内部スタイル シート、外部スタイル シートの 3 ...

Linuxの同時実行は簡単です。このようにするだけです

並行処理関数 i の `grep server /etc/hosts | awk '{pri...

MySQLとOracleの違いを簡単に説明してください

1. Oracle は大規模データベースですが、MySQL は小規模から中規模のデータベースです。O...

MySQL遅延スレーブを導入するメリットのまとめ

序文MySQL のマスター/スレーブ レプリケーション関係は、厳密には「同期」または「マスター/スレ...

mysql8.x docker リモートアクセスの詳細な設定

目次環境条件エラーが発生しました回避策1. mysql dockerにログインする2. ルートパスワ...

MySQLトリガーの使用例の詳細

MySQL トリガー構文の詳細: トリガーは、特定のテーブル内のデータが挿入、削除、または更新される...

CSS ですべての子要素を選択し、スタイルを追加する方法

方法:実際のプロジェクトを例に挙げてみましょう。 .lk-ツールバー{ .el-入力{ 幅: 169...

WangEditor リッチ テキスト コンポーネントを Angular でカプセル化する方法

リッチ テキスト コンポーネントは、Web プログラムで、特にブログやフォーラムなどの Web サイ...

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

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

MySql 認証に基づく vsftpd 仮想ユーザー

目次1. MySQLのインストール1.2 テーブル、データベース、ユーザーを作成する1.3 リモート...

CSS継承方法

次の背景画像を持つ div があるとします。 次の反射効果を作成します。 方法はたくさんありますが、...