ホームページ >データベース >mysql チュートリアル >mysql では中国語は何バイトを占めますか?

mysql では中国語は何バイトを占めますか?

青灯夜游
青灯夜游オリジナル
2020-10-07 13:17:1811156ブラウズ

mysql では、中国語の文字が占めるバイト数はエンコード形式に関係します。GBK エンコードの場合、1 つの中国語の文字は 2 バイトを占め、UTF8 エンコードの場合、1 つの中国語の文字は 3 バイトを占めます。 , 一方、英語の文字は 1 バイトを占めます。

mysql では中国語は何バイトを占めますか?

mysql で中国語は何バイトを占めますか?

#1. 中国語の文字が占めるバイト数はエンコーディングに関係します:

  • UTF8: 中国語 1 文字文字 = 3 バイト

  • GBK: 中国語 1 文字 = 2 バイト

##utf-8、英字 1 バイト

#2. varchar(n) は中国語の文字を何文字まで保存できますか?

varchar(n) は n 文字を表します。中国語でも英語でも、Mysql は n 文字を格納できます。実際のバイト長が異なるだけです。

3. どのように行うかMySQL は長さ (占有バイト数) をチェックしますか?

SQL 言語で使用可能な長さ関数:

select LENGTH(fieldname) from tablename

説明:


UTF-8: Unicode 変換形式 - 8 ビット、 BOM は許可されますが、通常は含まれません。これは国際文字を解決するために使用されるマルチバイト エンコーディングであり、英語の場合は 8 ビット (つまり 1 バイト)、中国語の場合は 24 ビット (3 バイト) を使用します。 UTF-8 には、世界すべての国で使用されている文字が含まれており、国際的なエンコーディングであり、高い汎用性を持っています。 UTF-8 でエンコードされたテキストは、UTF8 文字セットをサポートするさまざまな国のブラウザで表示できます。たとえば、UTF8 エンコーディングであれば、外国人の英語版 IE でも中国語を表示でき、IE の中国語サポート パッケージをダウンロードする必要がありません。

GBK は、国家規格 GB2312 をベースにし、GB2312 と互換性を持たせるために拡張された規格です。 GBK のテキストエンコーディングは 2 バイト、つまり中国語と英語の両方の文字が 2 バイトで表現され、中国語の文字を区別するために最上位ビットが 1 に設定されます。 GBK にはすべての中国語の文字が含まれており、各国のエンコーディングであり、UTF8 よりも汎用性が劣りますが、UTF8 は GBD よりも大きなデータベースを占有します。

GBK、GB2312 などは、Unicode エンコードを通じて UTF8 に変換する必要があります:

GBK, GB2312-->Unicode-->UTF8

UTF8- -> ;Unicode-->GBK、GB2312

    GB2312 は GBK のサブセット、GBK は GB18030 のサブセット
  • GBK は大中国語、日本語、韓国語を含む文字セット
  • 文字化けを避けるため、UTF-8 を使用する必要があります。将来の国際化にも対応すると非常に便利です
  • UTF8 は、ほとんどのテキストのエンコーディングが含まれる大きな文字セットとみなすことができます。
  • UTF8 を使用する利点の 1 つは、他の地域 (香港や台湾など) のユーザーが、簡体字中国語サポートをインストールしなくても、文字化けせずにテキストを通常どおりに表示できることです。
概要:

gb2312 は簡体字中国語のコードです

gbk は簡体字中国語と繁体字中国語をサポートしています

big5 は繁体字中国語をサポートします

utf8 はほぼすべての文字をサポートします

推奨チュートリアル:
mysql ビデオ チュートリアル

以上がmysql では中国語は何バイトを占めますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。