Skip to content

元ドキュメント: 文字セットと照合順序

文字セットと照合順序

概要

TDSQL Boundless の MySQL 互換モードでは、複数の文字セットと照合順序をサポートしています。本ドキュメントでは、対応する文字セット・照合順序の一覧とデフォルト設定について説明します。

サポートされる文字セット

文字セット最大バイト数説明
utf8mb3 (utf8)3UTF-8 エンコーディング(BMP のみ)
utf8mb44UTF-8 エンコーディング(絵文字等の補助文字を含む)
latin11ISO 8859-1 西ヨーロッパ言語
ascii1US-ASCII
binary1バイナリ文字列

デフォルト設定

  • デフォルト文字セット: utf8mb3
  • デフォルト照合順序: utf8mb3_general_ci

注意: デフォルトの文字セットは utf8mb3 です。絵文字や一部の CJK 拡張文字を扱う場合は、utf8mb4 を明示的に指定してください。

推奨設定

新規テーブル作成時

絵文字や多言語コンテンツを扱うアプリケーションでは、utf8mb4 の使用を推奨します。

sql
CREATE TABLE example (
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(255),
    content TEXT
) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

接続時の文字セット指定

クライアント接続時に文字セットを指定することを推奨します。

sql
SET NAMES utf8mb4;

JDBC 接続文字列の場合:

jdbc:mysql://host:port/database?characterEncoding=utf8mb4&useUnicode=true

照合順序の一覧

utf8mb3 の照合順序

照合順序説明
utf8mb3_general_ci一般的な大文字小文字を区別しない照合(デフォルト)
utf8mb3_binバイナリ照合
utf8mb3_unicode_ciUnicode 標準に基づく照合

utf8mb4 の照合順序

照合順序説明
utf8mb4_general_ci一般的な大文字小文字を区別しない照合
utf8mb4_binバイナリ照合
utf8mb4_unicode_ciUnicode 標準に基づく照合
utf8mb4_0900_ai_ciMySQL 8.0 のデフォルト照合順序

文字セットの変更

データベースレベル

sql
ALTER DATABASE db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

テーブルレベル

sql
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

カラムレベル

sql
ALTER TABLE table_name MODIFY column_name VARCHAR(255)
    CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

Tencent Cloud プロダクトドキュメント