在老舊的BIG5系統裡,要轉入來源檔為UTF8格式的文字檔。
然後在網頁上顯示該文字檔內容之解決方案。
以游錫堃 為例
游錫堃就會變成 游錫堃
程式如下:
public static String utf8ToBig5(String inputStr)throws Exception{
StringBuffer result = new StringBuffer();
CharsetEncoder enc = Charset.forName("Big5").newEncoder();
for(int i=0; i<inputStr.length(); i++){
char c = inputStr.charAt(i);
String utf8 = String.valueOf(c);
int ansi = (int)c;
if(!enc.canEncode(c)){
utf8 = "&'||chr(35)||'" + ansi + ";";
}
result.append(utf8);
}
return result.toString();
}
與下向資料來源之程式,稍微不同是: # 在ORACLE裡為保留字。
所以改成'||chr(35)||' 才可正常存入資料庫。
資料來源:http://wadejen.my-life01.com/wp/?p=109