検索

MySQL 文字セットとは何ですか?

Oct 17, 2018 pm 05:28 PM
gbkmysqlutf8キャラクターセット

この記事では、MySQL 文字セットとは何ですか? 文字セットに関連する概要を説明します。困っている友人は参考にしていただければ幸いです。

#文字セットの紹介

  • ##gbk/gb2312 gbk/gb2312 は 2 バイト文字セットを採用しており、中国語と英語の文字は両方とも 2 文字で表され、中国語の文字を区別するために最上位ビットが 1 に設定されます。 gbk セットの子です。gbk は gb18030 のサブセットです。gb2312 は簡体字中国語文字のみを保存できます

    gbk は中国語、日本語、韓国語の文字を含む大きな文字セットです

    通常は gbk 文字セットを使用するだけで十分です
    国際的な汎用性は utf8 より劣りますが、utf8 占有データベースは gbk よりも大きいです (utf8 は 3 バイト文字セットです)




    utf8/utf8mb4
  • UTF フルネーム (Unicode Transformation Format) は、Unicode の格納方法であり、Unicode とも呼ばれる可変長文字エンコーディングです。 データベース文字セット (接続、結果、最終的な HTML ページは utf8 と一致している必要があります);UTF8 では、Unicode 文字の格納に可変長バイトを使用します。たとえば、ASCII 文字の格納には引き続き 1 バイトが使用され、アクセント付き文字、ギリシャ文字、またはキリル文字の格納には 2 バイトが使用されます。一般的に使用される中国語の文字は 3 バイトを必要とします。つまり、英語の 1 文字は 1 バイトに相当し、中国語の 1 文字 (繁体字中国語を含む) は 3 バイトに相当します。

    utf8mb4 は 1 文字あたり最大 4 バイトを保存できるため、より多くの文字セットをサポートできます。utf8mb4 は絵文字表現を保存するためにプロジェクトでよく使用されますが、これではカバーできません。アジアとアフリカの言語。 ;

    unidoce は latin1 の拡張であり、アジアとアフリカの通常言語のサポートを追加しますが、依然としてすべての言語をサポートしているわけではなく、ASCII を表すために unidoce を使用するのは効率的ではありません。多くの場合、小さな文字セットを大きな文字セットに変換するのは簡単です)
    utf8 は Unicode の拡張機能です。
    gbk、gb2312、utf8 などの文字セットは Unicode を介して相互に変換する必要があります。エンコーディング。





    文字セットの使用に関する提案

1. 中国語の端末しかないことが確実な場合ユーザーは、gbk / gb23122 を選択できます。データの移行と複数の端末の表示を容易にするために、文字を大文字と小文字で区別する必要がない場合は、utf8

3 を使用するのが最適です。機密である場合は、デフォルトの xx_ci チェック セットを使用できます。それ以外の場合は、xx_bin 検証セットを選択します (運用環境では、検証セットを変更しないようにしてください)。

4 デフォルトの文字セットは、latin1 に格納されます。中国語の文字を個別に使用すると、検索結果が十分に正確になりません。スペースを節約するため、使用はお勧めできません。

MySQL 文字セット範囲

## サーバー層 (サーバー) > データベース (データベース) > フィールド (列) > 結果セット (結果) ##MySQL 文字セットの優先順位

接続 | 結果セット (結果) > データ テーブル (テーブル) > データベース (データベース) > サーバー層 (サーバー)

##char type

char(N): N は文字数を表します (文字数とも呼ばれます)。バイトではなく文字長です。

char(N): これは固定長ストレージであり、固定長のストレージ領域を占有し、MySQL が char(N) 型を処理するときに不足部分がスペースで埋められます。スペースを削除して返す必要があります。 記憶域: char(N) 型の記憶域は文字セットに関連しており、先ほどの文字セットの知識ポイントと組み合わせると、中国語は utf8 文字セットの 3 バイトを占有し、gbk は占有します。 2バイト、数字、文字を一律1文字で表現します。

ストレージメカニズム: 長さが不十分な場合、MySQL はデータを保存するときに 16 進数の 20 の代わりに特別なスペースを埋める必要があります。考え: char(30 )、最大数。さまざまな文字セットで保存できる文字と漢字の数、および占有スペースgbk: 30 バイトを保存でき、30*2utf8 のスペースを必要とします。

#: 30 バイトを保存でき、30*3 のスペースを必要とします。


varcahr type

##varchar(N): N はバイト数ではなく、文字数 (文字長とも呼ばれます) を表します

varchar(N):必要な記憶領域のみを使用する可変長記憶域です。

記憶領域: varchar(N) 型の記憶領域は、先ほどの文字セットの知識と組み合わせると、 a 中国語は utf8 文字セットで 3 バイトを占め、gbk は一律 2 バイトを占め、数字と文字は 1 文字で表されます。

ストレージ メカニズム: varchar(N) フィールドのストレージは実際には 2 バイト目から始まり、実際の長さを表すために 1 ~ 2 バイトが使用されます。残りはデータを格納できる範囲であるため、使用可能な最大ストレージは次のとおりです。範囲は 65535-3=65532 バイトで、最初のバイトは空かどうかを示します (長さが 255 バイト未満の場合は 1 バイトを使用し、255 バイトを超える場合は 2 バイトを使用して長さを表します)。 length)

データベース インスタンスの文字セットを変更します

一時的な影響

mysql> set character_set = 'gbk';
mysql> set character_set_client = 'gbk';

グローバルに有効

mysql> set global character_set_client = 'gbk';
Query OK, 0 rows affected (0.00 sec)

永続的な効果

vim /etc/my.cnf 
character-set-server=utf8

要約: 以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。関連チュートリアルの詳細については、mysql データベース グラフィック チュートリアル MySQL ビデオ チュートリアル ブートストラップ ビデオ チュートリアル をご覧ください。

以上がMySQL 文字セットとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は博客园で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
MySQLはSQLiteとどのように違いますか?MySQLはSQLiteとどのように違いますか?Apr 24, 2025 am 12:12 AM

MySQLとSQLiteの主な違いは、設計コンセプトと使用法のシナリオです。1。MySQLは、大規模なアプリケーションとエンタープライズレベルのソリューションに適しており、高性能と高い並行性をサポートしています。 2。SQLiteは、モバイルアプリケーションとデスクトップソフトウェアに適しており、軽量で埋め込みやすいです。

MySQLのインデックスとは何ですか?また、パフォーマンスをどのように改善しますか?MySQLのインデックスとは何ですか?また、パフォーマンスをどのように改善しますか?Apr 24, 2025 am 12:09 AM

MySQLのインデックスは、データの取得をスピードアップするために使用されるデータベーステーブル内の1つ以上の列の順序付けられた構造です。 1)インデックスは、スキャンされたデータの量を減らすことにより、クエリ速度を改善します。 2)B-Tree Indexは、バランスの取れたツリー構造を使用します。これは、範囲クエリとソートに適しています。 3)CreateIndexステートメントを使用して、createIndexidx_customer_idonorders(customer_id)などのインデックスを作成します。 4)Composite Indexesは、createIndexIDX_CUSTOMER_ORDERONORDERS(Customer_Id、Order_date)などのマルチコラムクエリを最適化できます。 5)説明を使用してクエリ計画を分析し、回避します

データの一貫性を確保するために、MySQLでトランザクションを使用する方法を説明します。データの一貫性を確保するために、MySQLでトランザクションを使用する方法を説明します。Apr 24, 2025 am 12:09 AM

MySQLでトランザクションを使用すると、データの一貫性が保証されます。 1)StartTransactionを介してトランザクションを開始し、SQL操作を実行して、コミットまたはロールバックで送信します。 2)SavePointを使用してSave Pointを設定して、部分的なロールバックを許可します。 3)パフォーマンスの最適化の提案には、トランザクション時間の短縮、大規模なクエリの回避、分離レベルの使用が合理的に含まれます。

どのシナリオでMySQLよりもPostgreSQLを選択できますか?どのシナリオでMySQLよりもPostgreSQLを選択できますか?Apr 24, 2025 am 12:07 AM

MySQLの代わりにPostgreSQLが選択されるシナリオには、1)複雑なクエリと高度なSQL関数、2)厳格なデータの整合性と酸コンプライアンス、3)高度な空間関数が必要、4)大規模なデータセットを処理するときに高いパフォーマンスが必要です。 PostgreSQLは、これらの側面でうまく機能し、複雑なデータ処理と高いデータの整合性を必要とするプロジェクトに適しています。

MySQLデータベースをどのように保護できますか?MySQLデータベースをどのように保護できますか?Apr 24, 2025 am 12:04 AM

MySQLデータベースのセキュリティは、以下の測定を通じて達成できます。1。ユーザー許可管理:CreateUSERおよびGrantコマンドを通じてアクセス権を厳密に制御します。 2。暗号化された送信:SSL/TLSを構成して、データ送信セキュリティを確保します。 3.データベースのバックアップとリカバリ:MySQLDUMPまたはMySQLPumpを使用して、定期的にデータをバックアップします。 4.高度なセキュリティポリシー:ファイアウォールを使用してアクセスを制限し、監査ロギング操作を有効にします。 5。パフォーマンスの最適化とベストプラクティス:インデックス作成とクエリの最適化と定期的なメンテナンスを通じて、安全性とパフォーマンスの両方を考慮に入れます。

MySQLのパフォーマンスを監視するために使用できるツールは何ですか?MySQLのパフォーマンスを監視するために使用できるツールは何ですか?Apr 23, 2025 am 12:21 AM

MySQLのパフォーマンスを効果的に監視する方法は? MySqladmin、ShowGlobalStatus、PerconAmonitoring and Management(PMM)、MySQL EnterpriseMonitorなどのツールを使用します。 1. mysqladminを使用して、接続の数を表示します。 2。showglobalstatusを使用して、クエリ番号を表示します。 3.PMMは、詳細なパフォーマンスデータとグラフィカルインターフェイスを提供します。 4.mysqlenterprisemonitorは、豊富な監視機能とアラームメカニズムを提供します。

MySQLはSQL Serverとどのように違いますか?MySQLはSQL Serverとどのように違いますか?Apr 23, 2025 am 12:20 AM

MySQLとSQLServerの違いは次のとおりです。1)MySQLはオープンソースであり、Webおよび埋め込みシステムに適しています。2)SQLServerはMicrosoftの商用製品であり、エンタープライズレベルのアプリケーションに適しています。ストレージエンジン、パフォーマンスの最適化、アプリケーションシナリオの2つには大きな違いがあります。選択するときは、プロジェクトのサイズと将来のスケーラビリティを考慮する必要があります。

どのシナリオでMySQLよりもSQL Serverを選択できますか?どのシナリオでMySQLよりもSQL Serverを選択できますか?Apr 23, 2025 am 12:20 AM

高可用性、高度なセキュリティ、優れた統合を必要とするエンタープライズレベルのアプリケーションシナリオでは、MySQLの代わりにSQLServerを選択する必要があります。 1)SQLServerは、高可用性や高度なセキュリティなどのエンタープライズレベルの機能を提供します。 2)VisualStudioやPowerbiなどのMicrosoftエコシステムと密接に統合されています。 3)SQLSERVERは、パフォーマンスの最適化に優れた機能を果たし、メモリが最適化されたテーブルと列ストレージインデックスをサポートします。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境