共用方式為


對應 MySQL 和 SQL Server 字元集 (MySQLToSQL)

您可以針對 MySQL 字元資料類型、運算式和常值指定字元集。

字元集對應

字元集對應會針對每個 MySQL 字元集加以定義,並可在字元資料類型轉換期間使用。 其會指定如何轉換特定字元集的字元字串資料類型:

  • 轉換成國家 SQL Server 字元類型 (NCHAR/NVARCHAR) 或

  • 轉換成一般 SQL Server 字元類型 (CHAR/VARCHAR)

  1. 國家目標資料庫字元資料類型如下:

    1. nchar

    2. nvarchar

  2. 一般目標資料庫字元資料類型如下:

    1. char

    2. varchar

  3. 類型對應只允許對應至國家字元資料類型。 根據類型對應轉換 MySQL 字元資料類型之後,系統就會套用字元集對應。

注意

字元集對應可在中繼資料物件總管的每個節點層級上加以定義,並代表從 MySQL 讀取的所有字元集。

不同節點層級的字元集對應

字元集對應會因各個節點層級而有所不同,例如:

  1. 在根中繼資料節點層級上

  2. 在資料庫、類別和物件節點層級上

注意

無論不同節點層級上的對應為何,用於編輯字元集對應的所選索引標籤皆包含三個按鈕。

其中包括:

  1. 套用:套用使用者所做的變更 (僅限字元集對應已編輯但未儲存時才生效)。
  2. 取消:取消使用者所做的變更。 當字元集對應已編輯但未儲存時,按鈕即可供使用。
  3. 重設為預設值:將所有對應重設為預設值。
  1. 在根中繼資料節點層級上:字元集對應方格包含字元集方格,以及每個字元集的個別資料行。 方格資料行包括:

    1. 第一個名為字元集名稱的方格資料行包含字元集名稱。

    2. 第二個名為字元集描述的方格資料行包含字元集描述。

    3. 第三個名為目標字元集類型的方格資料行包含特定字元集的對應設定。 此資料行的值包括:

      • CHAR/VARCHAR

      • NCHAR/NVARCHAR

    重要

    特定字元集的預設值會在 CHAR/VARCHAR 或 NCHAR/NVARCHAR 後加上前置詞 '(預設)'。

    MySQL 資料庫與根中繼資料節點層級上目標資料庫之間的字元集對應如下:

    字元集名稱 字元集描述 目標字元集類型 (預設)
    big5 Big5 繁體中文 NCHAR/NVARCHAR (預設)
    dec8 DEC 西歐語系 CHAR/VARCHAR (預設)
    cp850 DOS 西歐語系 CHAR/VARCHAR (預設)
    hp8 HP 西歐語系 CHAR/VARCHAR (預設)
    koi8r KOI8-R Relcom 俄文 CHAR/VARCHAR (預設)
    latin 1 cp1252 西歐語系 CHAR/VARCHAR (預設)
    latin2 ISO 8859-2 中歐語系 CHAR/VARCHAR (預設)
    swe7 7bit 瑞典文 CHAR/VARCHAR (預設)
    ascii US ASCII CHAR/VARCHAR (預設)
    ujis EUC-JP 日文 NCHAR/NVARCHAR (預設)
    sjis Shift-JIS 日文 NCHAR/NVARCHAR (預設)
    hebrew ISO 8859-8 希伯來文 CHAR/VARCHAR (預設)
    tis620 TIS620 泰文 CHAR/VARCHAR (預設)
    euckr EUC-KR 韓文 NCHAR/NVARCHAR (預設)
    koi8u KOI8-U 烏克蘭文 CHAR/VARCHAR (預設)
    gb2312 GB2312 簡體中文 NCHAR/NVARCHAR (預設)
    希臘文 ISO 8859-7 希臘文 CHAR/VARCHAR (預設)
    cp 1250 Windows 中歐語系 CHAR/VARCHAR (預設)
    gbk GBK 簡體中文 NCHAR/NVARCHAR (預設)
    latin5 ISO 8859-9 土耳其文 CHAR/VARCHAR (預設)
    armscii8 ARMCII-8 亞美尼亞文 CHAR/VARCHAR (預設)
    utf8 UTF-8 Unicode NCHAR/NVARCHAR (預設)
    ucs2 UCS-2 Unicode NCHAR/NVARCHAR (預設)
    cp866 DOS 俄文 CHAR/VARCHAR (預設)
    keybcs2 DOS Kamenicky 捷克-斯洛伐克文 CHAR/VARCHAR (預設)
    macce Mac 中歐語系 CHAR/VARCHAR (預設)
    macroman Mac 西歐語系 CHAR/VARCHAR (預設)
    cp852 DOS 中歐語系 CHAR/VARCHAR (預設)
    latin7 ISO 8859-13 波羅的語系 CHAR/VARCHAR (預設)
    cp 1251 Windows 斯拉夫文 CHAR/VARCHAR (預設)
    cp 1256 Windows 阿拉伯文 CHAR/VARCHAR (預設)
    cp 1257 Windows 波羅的語系 CHAR/VARCHAR (預設)
    BINARY 二進位虛擬字元集 CHAR/VARCHAR (預設)
    geostd8 GEOSTD8 喬治亞文 CHAR/VARCHAR (預設)
    cp932 適用於 Windows 日文的 SJIS NCHAR/NVARCHAR (預設)
    eucjpms 適用於 Windows 日文的 UJIS NCHAR/NVARCHAR (預設)
  2. 在資料庫、類別或物件節點層級上:在資料庫、類別或物件節點層級上,字元集對應方格包含與根中繼資料節點層級上相同的資料列,viz.:

    1. 第一個名為字元集名稱的方格資料行包含字元集名稱。

    2. 第二個名為字元集描述的方格資料行包含字元集描述。

    3. 唯一差異在於第三個方格資料行的值。 第三個名為目標資料類型的方格資料行包含特定字元集的對應設定。 資料行的值如下:

      • 已繼承 (CHAR/VARCHAR 或 NCHAR/NVARCHAR)

      • CHAR/VARCHAR

      • NCHAR/NVARCHAR

重要

  • 在位於資料庫、類別和物件節點層級中 MySQL 資料庫和目標資料庫之間的字元集對應,每個層級 (除了目標資料類型資料行的根) 上特定字元集的預設值都應該是「已繼承」。
  • 在方格中,已繼承值會加上 '(CHAR/VARCHAR)' 或 '(NCHAR/NVARCHAR)' 尾碼,視此特定字元集從父代繼承的值而定。