客戶修改系統的配置,然後以xml格式保存在數據庫中,系統中已經做了編碼處理,在一個客戶的系統上發現可能是由於亂碼引發的問題,不知道客戶是怎樣編輯的,導致有亂碼發生:(,需要把有亂碼的給找出來,然後重新編輯,再保存,就可以把亂碼現象給處理了。
str = xmlData.getData();
//轉換爲字符數組
char[] cs = str.toCharArray();
def int c;
//編歷,一個一個地比較
for(char cc : cs){
//轉爲整形,每一個ASCII字符對應一個0-127間整數,
c = (int)cc;
//對照ASCII字符表,32以下的需要進行排查,但換行符,回車之類的不在排查範圍,有其它特殊情況的,也要一併考慮。
if (c < 32 && c != 10 && c != 9 && c != 13) {
//找到亂碼字符,做其它處理,或是輸出
buf.append("找到亂碼字符: " + c);
buf.append("\n")
break;
}
}
在這裏,熟悉ASCII字符表還是挺有用的,記錄一下,基礎很重要。