【问题标题】:UTF-8 encoding yields weird characters in AndroidUTF-8 编码在 Android 中产生奇怪的字符
【发布时间】:2013-09-27 11:41:42
【问题描述】:

我有一个 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;
        }

但我得到的输出是这样的:

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

【问题讨论】:

    标签: android encoding utf-8


    【解决方案1】:

    一种解决方法是对 Java 源代码中的字符进行 unicode 转义:

    ((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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-27
      • 1970-01-01
      • 1970-01-01
      • 2015-05-28
      • 2017-12-20
      相关资源
      最近更新 更多