Linux システムで MySQL の文字セットを UTF8 に変更する手順

Linux システムで MySQL の文字セットを UTF8 に変更する手順

Linux で MySQL の文字エンコードを UTF8 に変更する

Linux に MySQL サービスをインストールしました。その後の使用中に、レコードを挿入するときに一部のフィールドを中国語にできないことに突然気付きました。エラー メッセージは次のとおりでした。

mysql> insert into syudent values(1,'陶盼',21);
エラー 1366 (HY000): 行 1 の列 'name' の文字列値 '\xE9\x99\xB6\xE7\x9B\xBC' が正しくありません

ここに画像の説明を挿入

粘り強く情報を探した結果、ついに問題を解決しました。ここで私の解決策を皆さんと共有します:

1. データベース内の MySQL ステータスを確認します。

# mysql のステータスを確認しますmysql> status;
mysql> 終了します。

ここに画像の説明を挿入

2. 設定ファイルを変更します。

#データベースを終了します systemctl stop mysqld.service
#my.cnf 設定ファイルを編集する vim /etc/my.cnf
[client] //[client]セクションがない場合は自分で追加してください default-character-set=utf8
[mysqld]
文字セットサーバー=utf8
照合サーバー=utf8_general_ci

設定ファイルを編集した後、MySQL サービスを再起動します。

systemctl で mysqld を起動します。 

再起動が成功した後、MySQL のステータスを再度クエリすると、次のように表示されます。

mysql -u root -p 'あなたのパスワード'
mysql> ステータス;

ここに画像の説明を挿入

この時点で、データベースに通常どおり入力し、テキスト セグメント データを挿入できます。

3. それでも失敗する場合は、MySQL 作成時の構成、または my.cnf 構成ファイルを編集する前の手順で MySQL サービスが停止されなかったことが原因である可能性があります。

ここで、テーブルとフィールドの文字セットを utf8 に設定する必要があります。

#テーブル作成プロセスを確認しますmysql> use ky15;
mysql> show テーブル syudent を作成します。

ここに画像の説明を挿入

#テーブルの文字セットをutf8に設定する
mysql> alter table テーブル名 文字セット utf8;
#中国語の文字を挿入したいフィールドの文字セットをutf8に変更します
mysql> alter table テーブル名変更 name name char(20) 文字セット utf8;
# テーブルの文字セットとフィールドの文字セットを表示します。mysql> show create table syudent;

ここに画像の説明を挿入

#テスト、中国語を挿入 mysql> insert into syudent values(1,'陶盼',21);
mysql> insert into syudent values(2,'王旭',21);
mysql> syudent から * を選択します。

ここに画像の説明を挿入

Linux で MySQL の文字セットを UTF8 に変更する手順に関するこの記事はこれで終わりです。Linux で MySQL の文字セットを変更することに関する関連コンテンツの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL での utf8mb4 照合の例
  • MySQL エンコーディング utf8 および utf8mb4 utf8mb4_unicode_ci および utf8mb4_general_ci
  • MySQL データベースのエンコーディングを utf8mb4 に変更する方法
  • mysql charset=utf8 本当に意味が分かりますか
  • MySQL の文字セット utf8 を utf8mb4 に変更する方法
  • mysql 文字化けした文字 latin1 文字を UTF8 に変換 詳細

<<:  Vue3 トランジションアニメーションの落とし穴記録について

>>:  適応型ウェブページを設計および作成する方法

推薦する

CSS 要約ノート: 変換、遷移、アニメーションの例

1.移行遷移プロパティの使用法: transition :transition-property t...

H5ゲームをnginxサーバーにデプロイする方法の詳細な説明

自己学習型ゲーム開発の道において、最も充実した瞬間は、自分でミニゲームを作り、友達と共有して試しにプ...

Windows での MySQL 8.0.15 の詳細なインストールと使用のチュートリアル

この記事では、MySQL 8.0.15の詳細なインストールと使用方法のチュートリアルを参考までに紹介...

Linux環境にMySQLデータベースをインストールする詳細なチュートリアル

1. データベースをインストールする1) yum -y install mysql-server (...

Vue+elementUI コンポーネントは、折りたたみ可能な動的レンダリングのマルチレベル サイドバー ナビゲーションを再帰的に実装します。

かなり前に実装された機能ですが、クリックすると選択したメニュー項目の背景色が白くなることに気付きまし...

VUEプロジェクトでXSS攻撃に遭遇した実体験

目次序文原因を発見するカスタムフィルタリングルール要約する序文インターネットの急速な発展に伴い、情報...

ulとliの基本的な使用法の分析

ナビゲーション、少量のデータテーブル、中央揃え<!DOCTYPE html PUBLIC &q...

Dockerを使用してRedisクラスターを構築する方法

目次1. Redis Dockerベースイメージを作成する2. Redisノードイメージを作成する3...

GET POSTの違い

1. Get はサーバーからデータを取得するために使用され、Post はサーバーにデータを渡すために...

MySQL5.7 mysqldump バックアップとリカバリの実装

MySQL バックアップコールドバックアップ:停止服務進行備份,即停止數據庫的寫入ホットバックアップ...

Vue-cli を使用して Vue プロジェクトを構築する手順の詳細な説明

まず、Vue-cli をインストールする必要があります。 npm インストール -g vue-cli...

超詳細なMySQL使用仕様の共有

最近、データベース関連の操作が多くなり、会社の既存の仕様はあまり包括的ではありません。インターネット...

Dockerコンテナ内のホストのホスト名が取得できない問題の解決方法

Node.js環境でテストが通っています。他の言語でも同様です。環境変数を取得する方法を使うだけです...

CSSアニメーションに基づくSVGボタンのサンプルコード

具体的なコードは次のとおりです。 <a href="#"> <...