如何用utf和iso-8859-1拉丁语替换重音编码

时间:2014-12-26 19:38:23

标签: java android encoding utf-8 iso-8859-1

您好我正在使用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编码的字符,这要归功于所有可以帮助我的东西提出建议。

0 个答案:

没有答案