但其實說穿了,就是把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字串寫入的結果。