Database Character Set
MySQL provides a facility that allows users to specify different character sets at different levels.
Level | Example |
---|---|
Database |
create database test charset utf8; |
Table |
create table test( id int, name char(100)) charset utf8; |
Column |
create table test ( id int, name1 char(100) charset gbk, name2 char(100) charset utf8)); |
Limitations of Support
-
When you specify the character set of your database as utf8mb4/utf8, the default collation is
utf8mb4_unicode_ci
/utf8_general_ci
. If you specifycollation_server=utf8mb4_bin
, the database interprets the data as binary. For example, specifying theCHAR
column length as four means that the byte length returned is 16 (forutf8mb4
) though when you try to insert data more than four bytes the target database warns that the data is too long. This is the limitation of database so Oracle GoldenGate does not support binary collation. To overcome this issue, specifycollation_server=utf8mb4_bin
when the character set is utf8mb4 andcollation_server=utf8_bin
for UTF-8. -
The following character sets are not supported:
armscii8
keybcs2
utf16le
geostd8