[java]BIG5 字集判斷
前言,不是每個系統都支援UTF-8
UTF8的系統但要把資料拋入BIG5的系統內,如何讓使用者一看就知道字會有問題。
可以使用下面這段程式碼去判斷
請注意,這裡不另外處理補完計畫的字是否正常顯示
程式構想:http://blog.darkthread.net/blogs/darkthreadtw/archive/2007/04/21/733.aspx
原本是想說用字碼去判斷,但怪怪的
SOURSE: http://zh.wikipedia.org/wiki/%E5%A4%A7%E4%BA%94%E7%A2%BC
//BIG5有定義的字
String testString = "峰";
//BIG5沒定義的UTF-8字集
//String testString = "峯";
//罕用字(3Byte呈現一個字UTF8字碼217E5)
//String testString = "𡟥";
//BIUG5 自訂字FA40等自定義字集
//String testString = "";
String[] stringArray = testString.split("");
for (int i = 1; i < stringArray.length; i++) {
System.out.println(stringArray[i]);
//使用BIG5編碼再用UTF-8還原若有錯誤會顯示問號
String str = new String(stringArray[i].getBytes("BIG5"), "UTF-8");
if(str.equals("?")){
System.out.println(stringArray[i] + "非BIG5字集");
}
}
UTF8的系統但要把資料拋入BIG5的系統內,如何讓使用者一看就知道字會有問題。
可以使用下面這段程式碼去判斷
請注意,這裡不另外處理補完計畫的字是否正常顯示
程式構想:http://blog.darkthread.net/blogs/darkthreadtw/archive/2007/04/21/733.aspx
原本是想說用字碼去判斷,但怪怪的
SOURSE: http://zh.wikipedia.org/wiki/%E5%A4%A7%E4%BA%94%E7%A2%BC
//BIG5有定義的字
String testString = "峰";
//BIG5沒定義的UTF-8字集
//String testString = "峯";
//罕用字(3Byte呈現一個字UTF8字碼217E5)
//String testString = "𡟥";
//BIUG5 自訂字FA40等自定義字集
//String testString = "";
String[] stringArray = testString.split("");
for (int i = 1; i < stringArray.length; i++) {
System.out.println(stringArray[i]);
//使用BIG5編碼再用UTF-8還原若有錯誤會顯示問號
String str = new String(stringArray[i].getBytes("BIG5"), "UTF-8");
if(str.equals("?")){
System.out.println(stringArray[i] + "非BIG5字集");
}
}
留言
張貼留言