-1

SQLiteデータベースからのデータが入力されたlistViewがあります。私のフィールドの1つは、完全な円:\ u25cfまたは白丸:\u25cbのいずれかのUnicode文字を持つマーカーです。テキストフィールドでハードコードされた文字列を使用すると、両方の文字が正しく表示されます。ただし、listViewには、文字ではなくテキストエンコーディングが表示されています。

なぜこれが...そしてUnicode文字を表示する方法を誰かが知っていますか?

ありがとう。

アップデート:

挿入コードは

private void loadRecords() throws IOException {
        final Resources resources = mContext.getResources();
        InputStream inputStream = resources.openRawResource(R.raw.records);
        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
        try {
            String line;
            while ((line = reader.readLine()) != null) {
                String[] strings = TextUtils.split(line, ",");
                if (strings.length <2) continue;
                long id = addRecord(strings[0].trim(),strings[1].trim(),strings[2].trim(),strings[3].trim(),
                        strings[4].trim(),strings[5].trim(),strings[6].trim());
            }
        } finally {
            reader.close();
        }
    }

リソースはcsvファイルで、1行は例です。

primaryKey,name,surname,address,phone,email,\u25CB
4

1 に答える 1

0

テキストファイルに\u25CBは、6文字あります。

Unicode文字を正しく使用するには、Unicode文字をファイルに直接入れます。

primaryKey,name,surname,address,phone,email,●

ただし、.csvファイルのエンコーディングがで使用されているものと同じであることを確認する必要がありますInputStreamReader(コンストラクターの2番目のパラメーターを設定します)。

于 2013-01-04T11:04:31.403 に答える