Tóm Tắt
Mapping MySQL and SQL Server Character Set (MySQLToSQL)
Trong bài viết này
Character set (Charset) can be specified for MySQL character data types, expressions and literals.
Charset Mapping
Charset mapping is defined for each MySQL charset and used during character data type conversion. It specifies how to convert character string data types of a particular character set:
-
To national SQL Server character types (NCHAR/NVARCHAR), or
-
To regular SQL Server character types (CHAR/VARCHAR)
-
national target database character data types are:
-
nchar
-
nvarchar
-
-
regular target database character data types are:
-
char
-
varchar
-
-
Type mapping only allows mapping to national character data types. After MySQL character data type is converted according to type mapping, charset mapping is applied.
Note
Charset mapping can be defined on each node level of metadata object explorer and represent all charsets read from MySQL.
Charset Mapping on different node levels
Charset Mapping varies at different node levels, namely:
-
On Root Metadata Node Level
-
On Database, Category and Object Nodes Level
Note
The tab selected for editing the Charset Mapping, contains three buttons, irrespective of the mapping on the different node levels.
They are:
- Apply: Applies changes made by the user, enabled only when charset mapping is edited and not saved yet.
- Cancel: Cancels changes made by the user. The button gets enabled when charset mapping is edited but not saved.
- Reset to Default: Resets all mappings to default values.
-
On Root Metadata Node Level: Charset mapping grid contains charset grid with a separate column for each charset. The columns of the grid are:
-
The first column of the grid named Charset Name contains charset name.
-
The second one named Charset Description contains charset description.
-
The third column titled, Target Charset Type contains mapping settings for particular charset. Values for this column are:
-
CHAR/VARCHAR
-
NCHAR/NVARCHAR
-
Important
The default values for a particular charset have the prefix ‘(default)’ after CHAR/VARCHAR or NCHAR/NVARCHAR.
The Charset mapping between MySQL database and the target database on Root Metadata Node Level is given below:
Charset Name
Charset Description
Target Charset Type (Default)big5
Big5 Traditional Chinese
NCHAR/NVARCHAR (Default)dec8
DEC West European
CHAR/VARCHAR (Default)cp850
DOS West European
CHAR/VARCHAR (Default)hp8
HP West European
CHAR/VARCHAR (Default)koi8r
KOI8-R Relcom Russian
CHAR/VARCHAR (Default)latin 1
cp1252 West European
CHAR/VARCHAR (Default)latin2
ISO 8859-2 Central European
CHAR/VARCHAR (Default)swe7
7bit Swedish
CHAR/VARCHAR (Default)ascii
US ASCII
CHAR/VARCHAR (Default)ujis
EUC-JP Japanese
NCHAR/NVARCHAR (Default)sjis
Shift-JIS Japanese
NCHAR/NVARCHAR (Default)hebrew
ISO 8859-8 Hebrew
CHAR/VARCHAR (Default)tis620
TIS620 Thai
CHAR/VARCHAR (Default)euckr
EUC-KR Korean
NCHAR/NVARCHAR (Default)koi8u
KOI8-U Ukrainian
CHAR/VARCHAR (Default)gb2312
GB2312 Simplified Chinese
NCHAR/NVARCHAR (Default)greek
ISO 8859-7 Greek
CHAR/VARCHAR (Default)cp 1250
Windows Central European
CHAR/VARCHAR (Default)gbk
GBK Simplified Chinese
NCHAR/NVARCHAR (Default)latin5
ISO 8859-9 Turkish
CHAR/VARCHAR (Default)armscii8
ARMSCII-8 Armenian
CHAR/VARCHAR (Default)utf8
UTF-8 Unicode
NCHAR/NVARCHAR (Default)ucs2
UCS-2 Unicode
NCHAR/NVARCHAR (Default)cp866
DOS Russian
CHAR/VARCHAR (Default)keybcs2
DOS Kamenicky Czech-Slovak
CHAR/VARCHAR (Default)macce
Mac Central European
CHAR/VARCHAR (Default)macroman
Mac West European
CHAR/VARCHAR (Default)cp852
DOS Central European
CHAR/VARCHAR (Default)latin7
ISO 8859-13 Baltic
CHAR/VARCHAR (Default)cp 1251
Windows Cyrillic
CHAR/VARCHAR (Default)cp 1256
Windows Arabic
CHAR/VARCHAR (Default)cp 1257
Windows Baltic
CHAR/VARCHAR (Default)binary
Binary pseudo charset
CHAR/VARCHAR (Default)geostd8
GEOSTD8 Georgian
CHAR/VARCHAR (Default)cp932
SJIS for Windows Japanese
NCHAR/NVARCHAR (Default)eucjpms
UJIS for Windows Japanese
NCHAR/NVARCHAR (Default) -
-
On the Database, Category or Object Node Levels: On the Database, Category or Object Nodes level, charset mapping grid contains the same rows as the one on root metadata node level, viz.:
-
The first column of the grid titled, Character Set Name contains charset name.
-
The second column titled, Character Set Description contains charset description.
-
The only difference is the values in the third column of the grid. The third column titled, Target Data Type contains mapping settings for particular charset. The values for the column are:
-
Inherited (CHAR/VARCHAR or NCHAR/NVARCHAR)
-
CHAR/VARCHAR
-
NCHAR/NVARCHAR
-
-
Important
- In the Charset mapping between MySQL database and target database on Database, Category, and Object Node Levels, the default values for a particular charset on each level other than root for the column Target Data Type should be ‘Inherited’.
- In the grid, the value Inherited is suffixed with either ‘(CHAR/VARCHAR)’ or ‘(NCHAR/NVARCHAR)’ depending on which value was inherited from parent by this particular charset.