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はツリー構造の追加、削除、変更、チェックのサンプルコードを実装します

推薦する

MySQL 一時テーブルの簡単な使用法

MySQL 一時テーブルは、一時的なデータを保存する必要がある場合に非常に便利です。一時テーブルは現...

Ubuntu 19にTheanoをインストールする際の問題を解決する

解決: pythearn2 パッケージをダウンロードしたディレクトリで、setup.py ファイルを...

MySQL マスターライブラリ binlog (master-log) とスレーブライブラリ relay-log 間のコードの詳細な説明

メインライブラリのバイナリログ: # 2420 で #170809 17:16:20 サーバー ID...

2019 年に最も役立ち重要なオープンソース ツール トップ 10

Black Duck の 2017 年のオープンソース調査では、回答者の 77% がオープンソース...

CSSリストのスライドにより、下部に隠れるのを防ぎ、長い画面モデルの処理に適応します。

1. モバイル端末がリストスライドを処理するとき、WeChat には下部にページに戻るボタンが組み...

Vue+ElementUI Treeの使い方

Vue+ElementUI Treeの使い方は参考までに。具体的な内容は以下のとおりです。 フロント...

HTML チュートリアル: よく使われる HTML タグのコレクション (4)

関連記事:初心者が学ぶ HTML タグ (3)導入された HTML タグは、必ずしも XHTML 仕...

Vue の 2 択タブバー切り替えの新しいアプローチ

問題の説明プロジェクトに取り組んでいるときに、タブ バーの切り替え効果を作成する必要がある場合があり...

ページネーションの例とベストプラクティス

<br />構造と階層により複雑さが軽減され、読みやすさが向上します。記事やサイトが整理...

mysql 基本操作文コマンドの詳細な説明

1. MySQLに接続するフォーマット: mysql -h ホストアドレス -u ユーザー名 -p ...

Power Shell に vim 実装コード例を追加する方法

1. Vimの公式ウェブサイトにアクセスして、オペレーティングシステムに適した実行ファイルをダウンロ...

Docker で Selenium グリッド分散環境を構築する実用的な方法

最近、Zoom ビデオ会議をテストし、100 人が同時に会議に参加することをシミュレートする必要があ...

フロントエンドの面接の質問の最も包括的なコレクション

HTML+CSS 1. WEB 標準と W3C の理解と知識<br /> タグを閉じ、小...

Nginx ドメイン名の書き換えとワイルドカードドメイン名の解決を設定する方法

この記事では、ドメイン名の書き換えとワイルドカードドメイン名の解決を行うための Nginx の設定方...

MySQL アーキテクチャのナレッジポイントの概要

1. データベースとデータベースインスタンスMySQL の研究では、データベースとデータベース イン...