回到網頁內容 臺灣-繁體中文
HP.com 首頁 產品資訊 支�#169;及驅動程式 解決方案 如何購買
» 聯絡 HP
進階選項
HP.com 首頁
HP-UX 11.0 - 11i 國際化功能白皮書 > 第 2 章. 編碼字元

編碼間的轉碼

» 

技術文件

PDF 格式的完整書籍
» 回饋意見
內容©韟像B開©l

 » 目錄

 » 辭彙

 » 索引

修正 iconv (1) 與 iconv (3C) 的字元對映 [11.0 修補程式、11i v1]

本版包含修正不正確字元對映的瑕疵修正程式。修正作業是針對 HP-UX 的簡體中文、繁體中文、日文,與韓文字元。

已修正的字元轉碼程式對映改善自可認知 Unicode 系統傳送或接收轉碼字元資料時的交互使用性。

簡體中文的修正內容

修補程式修正在 hp15CN 與 Unicode (UCS2)/UTF-8 間轉換簡體中文時的不正確字元對映。

特別是在 hp15CN 與 UCS2/UTF-8 間轉碼時,不正確地對映簡體中文字元 Double Vertical Line (雙垂直線,│)。此字元對映到不同字元的 Parallel To (平行符號,∥) 字元。

表 2-19 「iconv 表內簡體中文的變更」 摘要列出適用於 iconv 表的變更:

表 2-19 iconv 表內簡體中文的變更

hp15CN不正確的 UCS2正確的 UCS2字元名稱
0xA1CE 0x2225平行符號 (∥)
0xA1AC0x22250x2016雙垂直線 (│)

 

hp15CN=ucs2ucs2=hp15CN iconv 轉碼程式表皆受到影響。UCS2 與 UTF-8 轉碼共用這些表。

不會有相容性的問題。但若擔心與以 Unicode (UCS2) 或 UTF-8 儲存在 HP-UX 系統上之永久性資料相關的相容性問題時,可以產生一個簡單的轉碼命令集,以搜尋每一個 UCS2 或 UTF-8 的錯誤值,並根據表 2-20 「新舊簡體中文 Unicode 字元間的對映」 內的對映將其轉換為正確的值。

表 2-20 新舊簡體中文 Unicode 字元間的對映

舊的 UCS2UCS2舊的 UTF-8UTF-8字元名稱
0x22250x20160xe288a50xe28096雙垂直線 (│)

 

繁體中文的修正內容

修補程式修正在 Big-5/EUC 與 Unicode (UCS2)/UTF-8 間轉換繁體中文時的不正確字元對映。

big5 編碼與 UCS2/UTF-8 之間雙向轉碼時,Unicode 轉碼表對映沒有 Ideographic Space (表意文字空格) 字元:

表 2-21 iconv 表內 big5/Unicode 的變更

big5不正確的 UCS2正確的 UCS2字元名稱
0xA140  0x3000表意文字空格

 

下表摘要列出適用於 eucTW 與 UCS2 之間轉碼的變更。

表 2-22 iconv 表內 eucTW/Unicode 的變更

eucTW不正確的 UCS2正確的 UCS2字元名稱
0xa1a60x30fb0x2022項目符號 (•)
0xa1b70x20140x2013短破折號 (-)
0xa1b90x20130x2014長破折號 (─)
0xa1b60xfe310xff5c全形垂直線
0xa1b80xfe320xfe31表示形式垂直短破折號
0xa1ea 0x20320x2035反撇號
0xa1eb0x20350x2032撇號 (')
0xa2b90x22640x2266小於等於
0xa2ba0x22650x2267大於等於
0xa2c20xfe660xfe65小型大於符號
0xa2c30xfe650xfe66小型等於符號
0xa2de0xff5c0x2223分隔符號 (|)
0xa2e10xfe670xff0f全形斜線 (�)
0xa2e40xffe50x00a5日圓符號
0xa2e60xffe00x00a2分符號
0xa2e70xffe10x00a3井字號 (#)

 

在 eucTW 與 UCS2 或 UTF-8 之間的 iconv 轉碼可能會受到影響。

不會直接影響 big-5 與 UCS2/UTF-8 的轉碼,因為僅增加一個遺失的表項目。

eucTW=ucs2ucs2=eucTWbig5=ucs2,與 ucs2=big5 iconv 轉碼程式表皆受到影響。UCS2 與 UTF-8 轉碼共用這些表。

不會有相容性的問題。但若擔心與以 Unicode (UCS2) 或 UTF-8 儲存在 HP-UX 系統上之永久性資料相關的相容性問題時,可以產生一個簡單的轉碼命令集,以搜尋每一個 UCS2 或 UTF-8 的錯誤值,並根據表 2-23 「新舊繁體中文 Unicode 字元間的對映」 內的對映將其轉換為正確的值。

表 2-23 新舊繁體中文 Unicode 字元間的對映

舊的 UCS2UCS2舊的 UTF-8UTF-8字元名稱
0x30fb0x20220xe383bb0xe280a2項目符號 (•)
0x20140x20130xe280940xe28093短破折號 (-)
0x20130x20140xe280930xe28094長破折號 (─)
0xfe310xff5c0xefb8b10xefbd9c全形垂直線
0xfe320xfe310xefb8b20xefb8b1表示形式垂直短破折號
0x20320x20350xe280b20xe280b5反撇號
0x20350x20320xe280b50xe280b2撇號 (')
0x22640x22660xe289a40xe289a6小於等於
0x22650x22670xe289a50xe289a7大於等於
0xfe660xfe650xefb9a60xefb9a5小型大於符號
0xfe650xfe660xefb9a50xefb9a6小型等於符號
0xff5c0x22230xefbd9c0xe288a3分隔符號 (|)
0xfe670xff0f0xefb9a70xefbc8f全形斜線 (�)
0xffe50x00a50xefbfa50xc2a5日圓符號
0xffe00x00a20xefbfa00xc2a2分符號
0xffe10x00a30xefbfa10xc2a3井字號 (#)

 

日文修正內容

修補程式修正 4 個在 Shift-JIS/EUC 與 Unicode (UCS2)/UTF-8 之間不正確的日文字元對映。

下表摘要列出適用的變更。

表 2-24 iconv 表內日文的變更

sjiseucJP不正確的 UCS2正確的 UCS2字元名稱
0x81500xA1B10xFFE30x203E頂線符號 (�)
0x815C0xA1BD0x20150x2014長破折號 (─)
0x818F0xA1EF0xFFE50x00A5日圓符號
N/A0x8FA2B70x02DC0xFF5E全形顎化符號 (∼)

 

受影響的 iconv 轉碼係指 sjis 與 UCS2 或 UTF-8 之間,及以 eucJP 與 UCS2 或 UTF-8 之間的轉碼。

sjis=ucs2ucs2=sjiseucJP=ucs2,與 ucs2=eucJP iconv 轉碼表皆受到影響。UCS2 與 UTF-8 轉碼共用這些表。

不會有相容性的問題。但若擔心與以 Unicode (UCS2) 或 UTF-8 儲存在 HP-UX 系統上之永久性資料相關的相容性問題時,可以產生一個簡單的轉碼命令集,以搜尋每一個 UCS2 或 UTF-8 的錯誤值,並根據表 2-25 「新舊日文 Unicode 字元間的對映」 內的對映將其轉換為正確的值。

表 2-25 新舊日文 Unicode 字元間的對映

舊的 UCS2UCS2舊的 UTF-8UTF-8字元名稱
0xFFE30x203E0xefbfa30xe280be頂線符號 (�)
0x20150x20140xe280950xe28094長破折號 (─)
0xFFE50x00A50xefbfa50xc2a5日圓符號
0x02DC0xFF5E0xcb9c0xefbd9e全形顎化符號 (∼)

 

韓文修正內容

修補程式提供瑕疵修正程式,以處理不符合韓文 Unicode (UCS2)/UTF-8 字元對映標準。

目前提供的韓文 iconv 轉碼程式表不符合 Unicode 2.1 與 ISO 10646 (具有 1997 修正) 標準,以及韓國國家標準 KSC-5700。所有知名的標準組織均考量廢除目前的對映。

強化功能針對 eucKR 與 Unicode/UTF-8 之間的轉碼作業提供一組符合標準的 iconv 轉碼程式表。尤其是 0x3d2e - 0x4dff 廢除區已重新對映到 Unicode 2.1 中 Hangul (諺文) 指定的 0xac00 - 0xd7ff 區。

若未進行此修正作業,便不可能與任何其他遵循 Unicode 2.1/ISO 10646/KSC-5700 標準的系統共用資料。

受影響的 iconv 轉碼係指 eucKR 與 UCS2 或 UTF-8 之間的任何轉碼。

eucKR=ucs2ucs2=eucKR 是受此修改作業影響的 iconv 轉碼表。UCS2 與 UTF-8 轉碼共用這些表。

不會有相容性的問題。但若擔心與以 Unicode (UCS2) 或 UTF-8 儲存在 HP-UX 系統上之永久性資料相關的相容性問題時,建議儲存先前安裝的 ucs2=eucKR 表,並在重新命名後再安裝此修正程式。接著先利用此舊表將永久性資料轉換回 eucKR,再重新轉換至正確的 Unicode/UTF-8 表述。

Japan Vendor Council (日本廠商委員會) iconv 轉碼程式 [11i v1.6]

推出新的 iconv 轉碼程式,讓日本運算環境內的資料共用能有較大的交互使用性。下列為與此變更相關的項目:

  • 現在提供符合 Open Group Japanese Vendor Council (TOG/JVC) CDE/Motif 技術工作群組建議事項的日文 iconv 轉碼表,確保 ISO 10646/Unicode/JIS X0221 在日本運算環境內的交互使用性。

    附註: JIS X0221 是日本國家標準,等同於 ISO-10646:1993 和 Unicode 2.1。

    這些表將 HP 的 EUC 與 Shift-JIS (SJIS) 字元轉換為由嚴格 JIS X0201 解譯以及 Microsoft Unicode 和 UTF-8 所指定的對映。HP-UX 已支援這些 JIS X0221 的擴充轉碼對映。這些新的轉碼程式需要額外的 0.6 MB 空間。

    表 2-26 「新的 iconv 轉碼程式」 顯示提供的 8 個新 iconv 轉碼程式表,以支援在 EUC 和 Shift-JIS (SJIS) 與 Unicode 和 UTF-8 之間雙向轉碼的替代對映。

    表 2-26 新的 iconv 轉碼程式

    轉碼

    解譯

    eucJP0201 <-> ucs2

    JIS X0201
    eucJPMS <-> ucs2Microsoft
    sjis0201 <-> ucs2JIS X0201

    sjisMS <-> ucs2

    Microsoft

     

    表 2-27 「SJIS 與 Unicode 對映之間的對映差異」 說明在 SJIS 與不同 Unicode 字元對映的解譯之間進行轉碼時,轉碼程式表之間的對映差異。

    附註: HP-UX 提供 JIS X0201 擴充 (Unix) 對映,即此表中的 SJIS。

    表 2-27 SJIS 與 Unicode 對映之間的對映差異

    SJIS

    sjis0201 UCS2 對映SJIS UCS2 對映sjisMS UCS2 對映

    0x5C

    0x00A50x005C0x005C

    0x7E

    0x203E0x007E0x007E

    0x8150

    0xFFE30x203E0xFFE3
    0x815F0x005C0xFF3C0xFF3C

    0x818F

    0xFFE50x00A50xFFE5
    0x815C

    0x2014

    0x2014

    0x2015

    0x8160

    0x301C

    0x301C

    0xFF5E

    0x8161

    0x2016

    0x2016

    0x2225

    0x817C

    0x2212

    0x2212

    0xFF0D

    0x8191

    0x00A2

    0x00A2

    0xFFE0

    0x8192

    0x00A3

    0x00A3

    0xFFE1

    0x81CA

    0x00AC

    0x00AC

    0xFFE2

     

    表 2-28 「EUC 與 Unicode 對映之間的對映差異」 說明在 EUC 與不同 Unicode 字元對映的解譯之間進行轉碼時,轉碼程式表之間的對映差異。

    附註: HP-UX 提供 JIS X0201 擴充 (Unix) 對映,即此表中的 eucJP。

    表 2-28 EUC 與 Unicode 對映之間的對映差異

    EUC

    eucJP0201 UCS2 對映eucJP UCS2 對映eucJP MS UCS2 對映

    0x5C

    0x00A50x005C0x005C

    0x7E

    0x203E0x007E0x007E

    0xA1B1

    0xFFE30x203E0xFFE3
    0xA1C00x005C0xFF3C0xFF3C

    0xA1EF

    0xFFE50x00A50xFFE5
    0xA1BD

    0x2014

    0x2014

    0x2015

    0xA1C1

    0x301C

    0x301C

    0xFF5E

    0xA1C2

    0x2016

    0x2016

    0x2225

    0xA1DD

    0x2212

    0x2212

    0xFF0D

    0xA1F1

    0x00A2

    0x00A2

    0xFFE0

    0xA1F2

    0x00A3

    0x00A3

    0xFFE1

    0xA2CC

    0x00AC

    0x00AC

    0xFFE2

    0x8FA2B7

    0x007E

    0xFF5E0xFF5E

    0x8FA2C3

    0x00A60x00A60xFFE4

     

  • TOG/JVC 對數種字元制定三種可能的轉碼程式對映,這些對映為:

    1. 以嚴格 JIS X0201 標準解譯為基礎的 JIS X0221

    2. JIS X0221 擴充允許能在目前以 ASCII 為基礎 (例如 Unix) 的環境中擁有較大的共存空間

    3. 以 Microsoft 日文對映為基礎的 JIS X0221

iconv 對希臘文歐元支援的強化功能 [11i v1.6]

若需 iconv 對希臘文歐元支援的強化功能之詳細資訊,請參閱「希臘文歐元支援 [11i v1.6]」

日文字元的大型主機 iconv 轉碼程式 [11.0 修補程式、11i v1 修補程式、11i v2]

HP-UX 11i v1.0 推出 ShiftJIS/eucJP/UCS2NEC-JIPS/Hitachi-KEIS/Fujitsu-JEF 間的大型主機 iconv 轉碼程式。本版包括數個 JIS 標準字元對映錯誤的修正程式。

本版的大型主機 iconv 轉碼表包括多個大型主機字碼集基本部份中,JIS 標準字元對映錯誤的修正程式。若需變更的詳細資訊,請參閱 /usr/share/doc 目錄中的 MFConvChanges.jipsMFConvChanges.keis,與
MFConvChanges.jef

此外,本版的大型主機 iconv 轉碼 method 包括處理輸入緩衝區末端不完整偏移順序 (shift sequence) 的修正程式。

對客戶的影響

客戶若已使用 HP-UX 11i v1 的大型主機 iconv 轉碼程式,而接著使用本版時,會因為 JIS 標準字元對映中的修正程式而造成不同的結果。建議儲存先前安裝的表,並在重新命名後再安裝此版本。接著先利用此舊表轉換回永久性資料,再利用新表重新轉換至正確的內容。

輸入緩衝區內的最後一個字元若是有效的字元不完整的偏移順序,則 iconv(3C) 會傳回 EINVAL。該字元若是輸入檔案的最後一個字元,則必須在該字元附加如 NULL 的虛擬 (dummy) 資料,iconv(3C) 才能成功地回傳。該字元可以是一個控制字元一個不完整的偏移順序,在 jipsj 時是 0x1ajipsec/jipsek 時是 0x3f
keis7c/keis7k/keis8c/keis8k 時則是 0xa

相容性

不會有相容性的問題。但若擔心與儲存在 HP-UX 系統上之永久性資料相關的相容性問題時,建議儲存先前安裝的表,並在重新命名後再安裝此版本。接著先利用此舊表轉換回永久性資料,再利用新表重新轉換至正確的內容。

效能

沒有效能問題。

文件

  • 日文系統環境使用手冊》 (日文)

  • iconv(3C) 線上援助頁

未來計畫

大型主機 iconv 轉碼程式將追蹤日後對 HP-UX 上 Unicode 標準支援的變更。

可列印版本
隱私權聲明 使用範圍與著作權聲明
© 2001-2003, 2005 Hewlett-Packard Development Company, L.P.