1. まずテーブル作成ステートメントを見てみましょう テーブル学生を作成( sid int 主キー aotu_increment、 sname varchar(20) が null ではない、 年齢 int )文字セット=utf8; 次の質問を考えてみましょう。
2. CMDブラックウィンドウの文字セットを確認する CMDの黒いウィンドウを開く -> マウスをウィンドウの上部に置く -> 右クリック -> プロパティ -> オプションをクリック 上の図から、CMD でテキストを入力するために使用される文字エンコードは GBK であることがわかります。同時に、ファイルを保存すると、ローカル文字セットを表す ANSI 文字セットが表示されることがよくあります。中国では、ローカル文字セットは GBK エンコーディングを使用します。 3.この問題に気づきましたか? クライアントによって入力された文字はすべて GBK でエンコードされます。 mysql サーバーによって保存される文字は UTF8 でエンコードされます。次に、データベースとテーブルを追加、削除、変更、クエリし、最後にクライアント インターフェイスに戻ります。文字化けしないようにするには、 「エンコード変換プロセス」を経る必要があります。私が聞きたいのは、このエンコード変換プロセスは正確には何によって完了するのかということです。 4. あまり馴染みのないMySQL操作コマンド -- データベースでサポートされているすべての文字セットを表示します (このコマンドは単独で実行されます)。 mysql> 文字セットを表示します。 -- システムの現在の状態を確認します。ここで、いくつかの文字セット設定を確認できます。 mysql> ステータス; -- すべての文字セット設定を含むシステム文字セット設定を表示します。mysql> show variables like '%char%'; 操作結果は次のとおりです。 上の写真から、「接続」と呼ばれるものがあることがわかります。中国語の名前は「コネクタ」です。 「コネクタ」は「エンコーディング変換処理」を実行するために使用されます。 1) コネクタの特性 ①「コネクタの機能」 クライアントとサーバーを接続して文字セットを変換します。コネクタにはこの自動変換機能があります。 ②「コネクタワークフロー」: 2) コネクタの機能説明図 図1: 図1は次のように説明されます。 図2: 図2は次のように説明されます。 5. 上記2つの図の実際のデモンストレーション 1) まず、以下のコードを理解してください。 -- 1) クライアントの文字セットを設定します。 character_set_client=gbk を設定します。 -- 2) コネクタの文字セットを設定します。 character_set_connection=utf8 を設定します。 -- 3) 返される結果の文字セットを設定します。 character_set_results=gbk を設定します。 2) コードデモのプロセスは、次のリンクの sql ファイルに詳しく記載されており、ダウンロードして自分で表示できます。 http://note.youdao.com/noteshare?id=3fe60a490637d1a51ac78bf4a9e7e4d0&sub=511D73BDDEA34D9BAC565249035D74A8 翻訳 6. 文字化けの2つの原因 デコードと実際のエンコードの不一致によって生じた文字化けを修復できます。 送信プロセス中に、一貫性のないエンコードにより一部のバイトが失われ、修復できない文字化けが発生します。 1) エンコードとデコードの不一致による文字化け 2) 文字化けは、送信中にバイトが失われたために発生します。 7. 現状分析(何も設定されていない場合のシステムのデフォルトは何ですか?) 1) 次の図をよく見てください 上記の図から、次のことがわかります(次のテキストの説明をよく理解できます)。 図2: 2) セット名の意味 gbk -- クライアント、コネクタ、戻り値の文字セットが同じで、すべて gbk の場合、次の略語を使用できます。 名前を設定する gbk; -- 上記の SQL ステートメントには、実際には次の 3 つの意味が含まれています。 character_set_client=gbk を設定します。 character_set_connection=gbk を設定します。 character_set_results=gbk を設定します。 以上がこの記事の全文です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COMを応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Ubuntu20のtzselect設定時間失敗問題、Raspberry Piサーバ(推奨)
序文この記事では、Linux 構成ログ サーバーに関する関連コンテンツを主に紹介し、参考と学習のため...
1. CSSは左の固定幅と右の適応幅を実現します1. ポジショニング <!DOCTYPE ht...
最近、カンファレンスの健康申告システムに取り組んでいたとき、バックエンドを構築する必要があり、vue...
1. 環境: MySQL-5.0.41-win32 Windows XP プロフェッショナル2. テ...
目次MySql8.0 トランザクション分離レベルエラーの表示質問コマンドは次のように変更されますMy...
1. instanceofの使用法instanceof演算子は、コンストラクター関数のprototy...
GUNスクリーン:公式サイト: http://www.gnu.org/software/screen...
実際には、N 秒後にページを自動的にジャンプさせるにはどうすればよいかという問題によく遭遇します。私...
序文MySQLの勉強を始めたばかりで、公式サイトから最新バージョン5.7.14をダウンロードしました...
今回はReact-Flaskフレームワーク上でアップロードコンポーネントを開発するスキルについてお話...
目次1. 問題2. 解決策2.1 ページングコンポーネント2.2 データベースデータを取得する関数:...
1. 問題の説明セキュリティ上の理由から、新しく構築されたサーバー クラスターでは、指定されたポート...
バージョン: セントロス==7.2 jdk==1.8 合流==6.15.4 jira-ソフトウェア=...
目次1. 仲介業者モデル2. 例1. 見積コンポーネントに購入ボタンを追加する2. 親コンポーネント...
コンテンツ属性は通常、::before および ::after 疑似要素で使用され、疑似要素のコンテ...