Oracle PL/SQL: 讓 "字串資料" 進行 "字元集轉換"

在 Oracle Database 中, 提供 Convert 函數, 做為提供字串的字元集轉換功能.

如 : 讓你的 UTF8 資料, 轉換成 Big5 資料,

 語法
Convert( '字串', 'To_字元集', 'From_字元集' )

Convert( '字串', 'To_字元集' )

由 UTF8 轉 Big5, 如下:
 範例
正確但不好的範例 : vData := Convert( vData, 'ZHT16MSWIN950', 'UTF8' );

正確且較好的範例 : vData := Convert( vData || ' ', 'ZHT16MSWIN950', 'UTF8' );

 注意事項
1) 因為有時最後面中文字會轉碼失敗, 所以多加一個空白, 讓最後一個中文字可轉碼成功.

2) 若確認最後面字元一定是英文,則不用多加一個空白.

3) 不要因多加一個空白, 所以在轉碼之後, 利用 rtrim 把最後面的空白去除之, 這樣反而會造成轉碼失敗 (如:單位).

4) 若字串要做額外處理, 如 : substr, replace, ... 等, 則先進行處理, 之後才做字元集轉換.
Related Posts Plugin for WordPress, Blogger...