如何在android应用程序中显示类似øæå的字母,我想在完整项目中显示这些字符,请帮助我如何操作?
答案 0 :(得分:2)
如何使用Charset.forName("UTF-8").encode(myString)
?当然,字符串应该存储在外部资源string.xml中,因此mystring
应该是例如。
String mystring = getString(R.string.myStringResource);
答案 1 :(得分:2)
从JSON文档中读取字符串时,请确保正确解码JSON文件。也就是说,知道用于创建JSON文件的字符编码,并在解码文件时使用相同的编码。
假设您已经有一个用于读取JSON文档的InputStream,您可以使用以下内容:
private static final Charset JSON_CHARSET = Charset.forName("UTF-8");
private JSONObject loadJsonObject(InputStream in) throws JSONException, IOException {
InputStreamReader reader = new InputStreamReader(in, JSON_CHARSET);
StringWriter writer = new StringWriter();
copy(reader, writer);
return new JSONObject(writer.toString());
}
private static void copy(Reader reader, Writer writer) throws IOException {
try {
char[] buffer = new char[512];
while (true) {
int nChars = reader.read(buffer);
if (nChars < 0) {
break;
}
writer.write(buffer, 0, nChars);
}
} finally {
reader.close();
writer.close();
}
}
如有必要,请使用UTF-8以外的字符集。
答案 2 :(得分:0)
将特殊strings.xml
放在res/value-xxx/
答案 3 :(得分:0)
我发现我必须将布局文件的XML属性更改为UTF16才能使某些扩展字符正确显示。
<?xml version="1.0" encoding="UTF-16"?>