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 トランジションアニメーションの落とし穴記録について

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

推薦する

react-diagram シリアル化 Json 解釈 ケース分析

このドキュメントの目的はreact-diagramフレームワーク モデルの Json シリアル化を説...

Docker はすべてのコンテナをバッチ起動して閉じます

Dockerの場合すべてのコンテナコマンドを開始する docker を起動します $(docker ...

JavaScript の絶妙なスネーク実装プロセス

目次1. HTML構造を作成する2. テーブルを作成する3. ヘビの頭と体を作る4. 食べ物を作る5...

HTMLの基礎知識:ウェブページの基礎知識

HTML は Hypertext Markup Language の略です。これは、実際のプレゼンテ...

Ubuntu 18.04 で apt-get ソースを変更する方法

apt-get を使用してインストールすると、非常に遅くなります。国内のソースを変更すると、この問題...

フロントエンドのパフォーマンス最適化 - フロントエンドエンジニアが話し合うべき問題点

はじめに<br />前回の記事「私の CSS アーキテクチャ コンセプト」では、公園で友...

Alibaba Cloud SSHリモート接続がしばらくすると切断される問題を解決

問題の再現Alibaba Cloud Server は、Finalshell リモート接続を使用して...

Dockerでイメージをプルするための手順を完了する

1. Docker pullはイメージをプルします$ docker pull {IMAGE_NAME...

Vueはスクロールバースタイルを実装します

最初はブラウザのスクロールバーのスタイルを変更して効果を実現したいと思っていましたが、情報を調べてみ...

inline-blockプロパティとの互換性

<br />1年前、インターネット上にはinline-blockプロパティに関する記事は...

Vue カードスタイルのクリックして切り替える画像コンポーネントの使用方法の詳細な説明

この記事では、vueカードスタイルのクリックして切り替える画像コンポーネントを参考までに紹介します。...

getdata テーブル テーブル データ 結合 mysql メソッド

パブリック関数 json_product_list($where, $order){ グローバル ...

ネットワークセグメント内の IP アドレスに対する Nginx の接続制限設定の詳細な説明

Nginx におけるいわゆる接続制限は、実際には TCP 接続、つまり 3 ウェイ ハンドシェイク後...

CSS3 で複数のカスタムフォントを導入する

今日、HTML に問題を発見しました。多くのデフォルト フォントが提供されていますが、「Bold」、...

JavaScript を使用して動的に生成されるテーブルの詳細な説明

*ページを作成する: 2つの入力ボックスとボタン*コードと手順/* 1. 入力行と列の値を取得する2...