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

推薦する

Raspberry Pi 4b ubuntu19 サーバーへの docker-ce のインストール手順

Raspberry Pi モデルは 4b、1G RAM です。システムはubuntu19.10サーバ...

MySQLを安全にシャットダウンする方法

MySQL サーバーをシャットダウンする場合、シャットダウン方法に応じてさまざまな問題が発生する可能...

React の 10 個のフックの紹介

目次ReactHook とは何ですか? Reactは現在フックを提供している1. 使用状態2.use...

MySQL マスタースレーブレプリケーションスレッドの状態遷移に関する詳細な理解

序文MySQL マスター スレーブ レプリケーションの基本原理は、スレーブ データベースがマスター ...

MySQLサービスが起動しても接続されない問題の解決策

mysql サービスは開始されていますが、接続できません。この問題を解決するにはどうすればよいでしょ...

VUE uni-app でよく使用される API についての簡単な説明

目次1. ルーティングとページジャンプ2. インターフェース要約する1. ルーティングとページジャン...

初心者向けウェブサイト構築チュートリアルの概要

これら 6 つの記事を書いた後、私は少し混乱し始めました。次にどこに書けばいいのか分かりません。ドメ...

Vue-Element-Adminはログインジャンプを実現するために独自のインターフェースを統合しています

1. まずリクエスト設定ファイルを見て、axios.createメソッドを見てください。baseUR...

MySQL マルチバージョン同時実行制御 MVCC の基本原理の分析

目次1 トランザクションの同時実行で発生する問題1.1 ダーティリード1.2 繰り返し不可能な読み取...

CentOS7 ファイアウォールとポート関連コマンドの紹介

目次1. ファイアウォールの現在の状態を確認する2. ファイアウォールサービスを開始する3. ファイ...

Vueコンポーネントの再利用と拡張の詳細な説明

目次概要延長は必要ですか?スロットJavaScript ユーティリティ関数拡張コンポーネントの複数の...

Vue 開発ツリー構造コンポーネント (コンポーネント再帰)

この記事では、Vue開発ツリー構造コンポーネントの具体的なコードを例として紹介します。具体的な内容は...

VMware vCenter 6.7 のインストール プロセス (グラフィック チュートリアル)

背景当初は VMware の公式 Web サイトから 6.7 Vcenter をダウンロードしたかっ...

Vue ディレクティブ v-html と v-text

目次1. v-text テキストレンダリング命令2. v-html 1. v-text テキストレン...

入力選択スタイルを変更する CSS 疑似クラスのサンプルコード

注: この表はW3Schoolチュートリアルから引用したものです疑似要素の分類と機能: 入力選択スタ...