我有一些来自HttpPost的XML数据,类似于:
<Item>
<Id>19695</Id>
<Name>This is my content – it is great!</Name>
</Item>
当我只是System.out.println检索到的数据时,它打印出来:
<Item>
<Id>19695</Id>
<Name>This is my content â it is great!</Name>
</Item>
因此,当我在浏览器中检查XML时,连字符“ - ”显示正常,但是当我在执行HttpPost后打印它时,它将替换为“â”
我认为它与此代码有关:
BufferedReader reader = new BufferedReader(new InputStreamReader(
isr, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
isr.close();
result = sb.toString();
我该怎样防止这种情况?谢谢!
编辑:撇号(')
也是如此答案 0 :(得分:2)
将charset设置为UTF-8。您的读者必须使用UTF-8
进行设置答案 1 :(得分:1)
这似乎是一个编码问题。您尝试将其读作iso-8859-1
。您的服务器是否使用其他编码(例如utf-8
)?
答案 2 :(得分:0)
这很可能是因为您没有使用正确的连字符(可能是由于奇怪的键盘布局)。 Android支持字符串中的HTML标记,因此您可以尝试使用-
代替连字符。
编辑:
这里是撇号的HTML标记:'