UTF-8编码在Android中产生奇怪的字符

时间:2013-09-27 11:41:42

标签: android encoding utf-8

我有一个Android应用,我需要输出一些不是ASCII的字符。我设置这些字符的Java文件编码为UTF-8:

 public void onItemCheckedStateChanged(ActionMode mode, int position,
                                              long id, boolean checked) {
            mode.setSubtitle(llista.getCheckedItemCount() + " elements sel·leccionats.");
        }

        @Override
        public boolean onCreateActionMode(ActionMode mode, Menu menu) {
            mode.setTitle("Sel·lecciona!");
            MenuInflater inflater = mode.getMenuInflater();
            if (inflater != null) {
                inflater.inflate(R.menu.menudetallllista, menu);
            }
            return true;
        }

但我得到的输出是:

Capture

除了将文件编码更改为Windows-1252之外,还有什么办法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

一个解决方法是unicode逃避Java源代码中的字符:

((TextView) findViewById(R.id.textView1)).setText("Some chars: \u00BF \u00EC \u00E1 \u00E9 \u00ED \u00F3 \u00FA \u00FC \u00F1");

或字符串XML文件:

<string name="test">Again:  \u00BF \u00EC \u00E1 \u00E9 \u00ED \u00F3 \u00FA \u00FC \u00F1</string>

enter image description here