我正在解析html内容并在屏幕上输出。这个网站有土耳其字符,如çÇşŞöÖğĞıİüÜ。我无法将它们显示为正确的字符,但它们仍然打印为问号。
Eclipse - >项目 - >属性 - >资源 - >文本文件编码=从容器继承(Cp1254)
我在网上搜索并找到了这个解决方案:
Eclipse - >项目 - >属性 - >资源 - >文本文件编码=其他:UTF-8
然而,它不起作用。它只会更改我文件的当前字符。 (我的活动中有这些角色的标题)
有任何帮助吗?提前谢谢......
答案 0 :(得分:0)
这完全取决于你如何将html解析为内存。如果您从具有扫描仪类的文件中检索它,并且html文件保存为utf-8,那么请执行以下操作:
Scanner scanner = new Scanner(file, "UTF-8");
如果您使用org.apache.http
包从网上阅读,并将内容作为HttpEntity
- 对象,请执行以下操作:
String content = EntityUtils.toString(httpEntity, "UTF-8");
即。这一切都取决于你如何阅读html文件。通常,您可以在创建阅读器时指定编码。您必须将此与保存文件的编码相匹配。
答案 1 :(得分:0)
context = context.replaceAll("İ", "İ");
context = context.replaceAll("ı", "ı");
context = context.replaceAll("Ö", "Ö");
context = context.replaceAll("ö", "ö");
context = context.replaceAll("Ü", "Ü");
context = context.replaceAll("ü", "ü");
context = context.replaceAll("Ç", "Ç");
context = context.replaceAll("ç", "ç");
context = context.replaceAll("Ğ", "Ğ");
context = context.replaceAll("ğ", "ğ");
context = context.replaceAll("Ş", "Ş");
context = context.replaceAll("ş", "ş");
其中context是一个String,它包含所有已解析的数据,并将在TextView上打印出来。就这样。我以前应该想到很多!