2

如何在android应用程序中显示像øæå这样的字母,我想在完整项目中显示这些字符,请帮助我怎么做?

4

4 回答 4

2

怎么用Charset.forName("UTF-8").encode(myString)?自然,字符串应该存储在外部资源 string.xml 中,mystring例如应该是这样。

String mystring = getString(R.string.myStringResource);
于 2013-06-04T09:46:02.063 回答
2

从 JSON 文档中读取字符串时,请确保正确解码 JSON 文件。也就是说,知道用于创建 JSON 文件的字符编码,并在解码文件时使用相同的编码。

假设您已经有一个 InputStream 来读取您的 JSON 文档,您可以使用如下内容:

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 以外的字符集。

于 2013-06-04T10:14:17.650 回答
0

把特别的放在strings.xml下面res/value-xxx/

于 2013-06-04T09:42:09.667 回答
0

我发现我必须将布局文件的 XML 属性更改为 UTF16 才能正确显示某些扩展字符。

<?xml version="1.0" encoding="UTF-16"?>
于 2013-06-04T09:44:24.327 回答