データベース文字セット

MySQLには、ユーザーが異なるレベルで異なる文字セットを指定できる機能があります。

レベル

データベース

create database test charset utf8;

create table test( id int, name char(100)) charset utf8;

create table test ( id int, name1 char(100) charset gbk, name2 char(100) charset utf8));

サポートの制限事項

  • データベースの文字セットをutf8mb4/utf8に指定すると、デフォルトの照合はutf8mb4_unicode_ci/utf8_general_ciになります。collation_server=utf8mb4_binを指定すると、データベースはデータをバイナリとして解釈します。たとえば、CHAR列の長さを4に指定した場合、4バイトを超えるデータを挿入しようとすると、データが長すぎることがターゲット・データベースから警告されますが、返されるバイト長は16 (utf8mb4の場合)になります。これはデータベースの制限のため、Oracle GoldenGateではバイナリ照合をサポートしていません。この問題を解決するには、文字セットがutf8mb4およびcollation_server=utf8_bin (UTF-8)に設定されている場合に、collation_server=utf8mb4_binを指定します。

  • 次の文字セットはサポートされていません

    • armscii8
    • keybcs2
    • utf16le
    • geostd8