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

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

推薦する

MySQL トランザクション制御フローと ACID 特性

目次1. ACIDの特性トランザクション制御構文3. トランザクション同時実行例外1. ダーティリー...

Pure CSS3はdivの出入りを順番に実現します

この記事は主に、純粋な CSS3 を使用して div が順番に出入りする効果を紹介します。一定の参考...

html2canvas を使用して、Baidu マップを含む Dom 要素を画像に処理するソリューション

問題 1: Baidu Map はタイル画像 (地図が写真で構成されている) を使用しています。ht...

Vue.jsはElement-uiを使用してナビゲーションメニューを実装します

この記事では、Element-uiを使用してvue.jsでナビゲーションメニューを実装するための具体...

Vueはスクロールロードテーブルを実装します

目次成果を達成する転がり荷重知識備蓄コンポーネントのパッケージ1. コンポーネントの命名2. 小道具...

ウェブデザイン:大量の素材の正確な配置と使用

3回の暗記により、大量の資材の正確な場所と目的を記憶でき、その使いやすさが向上します。 これは単なる...

js の toString メソッドの 3 つの機能

目次1. toStringメソッドの3つの機能2. オブジェクトを表す文字列を返す3. カスタム t...

Centos 7 64 ビット デスクトップ バージョンのインストール グラフィック チュートリアル

システムが遅いと感じてソースを変更したい場合は、別の記事で整理しました https://blog.c...

mysqlreplicate を使って MySQL マスタースレーブを素早く構築する方法

導入mysql-utilities ツールセットは、DBA のツールボックスとも言えるさまざまなツー...

IISとAPACHEはHTTPSへのHTTPリダイレクトを実装しています

7 のMicrosoft の公式 Web サイトから HTTP Rewrite モジュールをダウンロ...

WeChat アプレット計算機の例

WeChatアプレット計算機の例、参考までに、具体的な内容は次のとおりです。インデックス.wxml ...

Viteは仮想ファイルの実装を導入します

目次背景仮想ファイルのインポート例書類タイプスクリプトのサポート要約する背景新しいプロジェクトで v...

iframe テクニックを使用して訪問者 QQ 実装のアイデアとサンプル コードを取得する

今日、仕事中に、一時的に追加した友人から、Web ページを使用して訪問者の QQ を取得する方法を尋...

MySQL データベース SELECT クエリ式分析

データ管理の大部分は検索であり、SELECT はその大部分を占めています。 SELECT selec...

ソースコード分析からTomcatがサーブレットの初期化を呼び出す方法の詳細な説明

目次導入1. Tomcatを起動するコード2. Tomcatフレームワーク3. コンテナを作成する ...