元ドキュメント: 文字セットと照合順序
文字セットと照合順序
概要
TDSQL Boundless の MySQL 互換モードでは、複数の文字セットと照合順序をサポートしています。本ドキュメントでは、対応する文字セット・照合順序の一覧とデフォルト設定について説明します。
サポートされる文字セット
| 文字セット | 最大バイト数 | 説明 |
|---|---|---|
| utf8mb3 (utf8) | 3 | UTF-8 エンコーディング(BMP のみ) |
| utf8mb4 | 4 | UTF-8 エンコーディング(絵文字等の補助文字を含む) |
| latin1 | 1 | ISO 8859-1 西ヨーロッパ言語 |
| ascii | 1 | US-ASCII |
| binary | 1 | バイナリ文字列 |
デフォルト設定
- デフォルト文字セット:
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_ci | Unicode 標準に基づく照合 |
utf8mb4 の照合順序
| 照合順序 | 説明 |
|---|---|
| utf8mb4_general_ci | 一般的な大文字小文字を区別しない照合 |
| utf8mb4_bin | バイナリ照合 |
| utf8mb4_unicode_ci | Unicode 標準に基づく照合 |
| utf8mb4_0900_ai_ci | MySQL 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;