但其實說穿了,就是把Unicode的N'
瀞'
內碼寫到Unicode的編碼欄位上,並不是真的使用到BIG-5的造字區字碼,
只要注意不要因為定序而被SQL或是Windows\.NET判斷成BIG5而轉換
。
扣除主機系統的EBCDIC/EUC/JIS內碼,經常碰到的中文交換內碼是ANSI+BIG-5,恰好碰到的幾家銀行也會在BIG-5造字區建立自己的客戶會用到的中文字碼,接下來我們來實作把BIG-5的難字就寫進BIG-5編碼的資料庫欄位。
第一步: 利用Windows內建造字程式(eudcedit.exe)建立[瀞]
這邊我們用BIG-5E的字集碼中的[
瀞
]
83F8
,同時連結注音輸入法ㄐㄧㄥ;另外造字程式會同時新增BIG-5與UNICODE,UNICODE會按照BIG-5造字序下來,對應
瀞
是
F088
。
1.C1欄位是BIG5,內碼
83F8
,正確!
(指令是Unicode T-SQL,但是Windows/.NET會自動轉
F088
,寫入時,欄位是BIG-5,SQL還會自動Mapping回來
83F8
,關鍵在於
造字區序會自動對應
,如果選本來Unicode的瀞,她就不能用順序的慣例轉回去了。)
2.C2欄位是Unicode,內碼
F088
,也正確寫入造字區的[瀞]了。
碰到幾家銀行在BIG-5造字作法大概有以下2種:
BIG-5造,Unicode不造
BIG-5造,Unicode造
呼~第1種作法要另外寫AP轉(抓頭)
補充: 從黑暗大的分享,聯想直接利用Hex 16進位寫入的方式:
INSERT INTO TESTWORD
VALUES (0x83F8, 0X88F0)
序號4是用Hex字串寫入的結果。