您好我正在使用android中的web服务,我收到一个字符串数组,我用它将webservice响应转换为utf-8
InputStreamReader isr = new InputStreamReader( httpConn.getInputStream(),Charset.forName(“UTF-8”));
然后我使用DocumentBuilderFactory来解析xml并获取所有数据,对于我的问题是在数据库中有一些数据在ISO-8859-1和其他与UTF-8我用这个函数来删除口音
for (int i = 0; i < nList.getLength(); i++) {
for (int x = 0; x < list; x++) {
Node a = nInterna.item(x);
if (a.getNodeType() == Node.ELEMENT_NODE) {
Element element = (Element) a;
nidprod = element.getElementsByTagName("ccidclie");
line = (Element) nidprod.item(0);
temp = getCharacterDataFromElement(line);
id[x] = df.format(Float.parseFloat(temp));
nidprod = element.getElementsByTagName("ccname");
line = (Element) nidprod.item(0);
temp = getCharacterDataFromElement(line);
name[x] = deleteAccept(temp.toString().toUpperCase());
}
}
}
public static String deleteAccept(String string) {
String newstring = Normalizer.normalize(string, Normalizer.Form.NFD)
.replaceAll("\\p{InCombiningDiacriticalMarks}+", "");
return newstring;
}
但是没有使用iso-8859-1然后我尝试这种方式
String deleteAccept(String string) throws UnsupportedEncodingException {
return new String(string.getBytes("UTF-8"), "ISO-8859-1");
}
要涵盖这两种情况,但它不能正常工作,我的问题是如何用utf-8替换编码的字符和用iso-8859-1编码的字符,这要归功于所有可以帮助我的东西提出建议。