CCSID 5026 及 CCSID 1390 的替代 Unicode 轉換表

日文字碼頁有數個 IBM® 編碼字集 ID (CCSID)。 CCSID 5026 及 CCSID 1390 登錄為日文 EBCDIC 字碼頁。 使用 Microsoft ODBC 應用程式來連接至 CCSID 5026 及 CCSID 1390 的 Db2® 主機資料庫時,您可能會在將 CCSID 5026 及 CCSID 1390 中的資料轉換為 Unicode 時遇到潛在問題。 問題是 IBM的字碼頁轉換表與 Microsoft 的字碼頁轉換表之間的差異所造成。 下列字元清單 (從 CCSID 5026 及 CCSID 1390 轉換為 Unicode 時) 將根據使用的轉換表 (IBM 或 Microsoft) 而產生不同的字碼點。 對於這些字元, IBM 轉換表符合日本業界標準 (JIS) JISX0208、 JISX0212及 JISX0221中指定的字元名稱。

表 1. CCSID 5026 及 CCSID 1390 至 Unicode 字碼點轉換
EBCDIC 字碼點 (字元名稱) IBM 主要字碼點 (Unicode 名稱) Microsoft 主要字碼點 (Unicode 名稱)
X'444A' (EM Dash) U+2014 (EM Dash) U+2015 (水平列)
X'43A1' (Wave Dash) U+301C (同批出貨) U+FF5E (全寬波狀符號)
X'447C' (雙垂直線) U+2016 (雙垂直線) U+2225 (平行至)
X'4260 ' (減號) U+2212 (減號) U+FF0D (全寬連字號-減號)
X'426A' (岔斷條欄) U+00A6 (岔斷條欄) U+FFE4 (全寬岔斷條欄)
例如,使用 IBM 轉換表時,具有 CCSID 5026 字碼點 X'444A' 的字元 EM 橫線會轉換為 Unicode 字碼點 U+2014 ,而使用 Microsoft 轉換表時則會轉換為 U+2015 。 這可能會為 Microsoft ODBC 應用程式造成潛在問題,因為它們會將 U+2014 視為無效的字碼點。 若要避免這些潛在問題,您需要將預設 IBM 轉換表從 CCSID 5026 到 Unicode ,取代為 Db2 資料庫管理程式提供的替代 Microsoft 轉換表。
附註: 使用 Microsoft 自訂表格時,兩個不同的 EBCDIC 字碼點可以指向相同的 Unicode 字碼點。
表 2. CCSID 1390 至 Unicode 字碼點轉換
EBCDIC 字碼點 (字元名稱) IBM 主要字碼點 (Unicode 名稱) Microsoft 主要字碼點 (Unicode 名稱)
X'444A' (EM Dash) X'DDB7' (水平列) U+2015 (水平列)
X'43A1' (Wave Dash) X'E9F4' (全寬波狀符號) U+FF5E (全寬波狀符號)
X'447C' (雙垂直線) X'DFE5' (平行至) U+2225 (平行至)
X'4260 ' (減號) X'E9F3' (全寬連字號-減號) U+FF0D (全寬連字號-減號)
X'426A' (岔斷條欄) X'E9F5' (全寬岔斷條欄) U+FFE4 (全寬岔斷條欄)