【问题标题】:Displaying inverse numbers when loading Hebrew rss with android ...使用 android 加载希伯来语 rss 时显示倒数...
【发布时间】:2023-03-08 10:30:01
【问题描述】:

我正在使用 eclipse android 环境加载带有 xml Dom 的希伯来语 (rtl) xml 提要。

在 TextView 上显示提要时,文本可以,但数字显示相反

例如:

如果提要 (XML) 包含 007,它将显示为 700..

【问题讨论】:

    标签: android xml feed hebrew right-to-left


    【解决方案1】:

    我正在重新发布我自己的答案:

    “尝试在 webkit 控件中显示您的文本,它的 RTL 支持工作正常,只要 HTML 代码被适当地标记。”

    希望对你也有帮助。

    【讨论】:

    • 嗨 VitalyB,如果你说“webkit 控制”时的意思是你的意思,我尝试使用 webview 我将 textview 更改为 webview 并设置 html 编码 String stext= "שלום 007 分。";我试过这个 webview.loadData(stext, "text/html", "utf-8");而这个 webview.loadData(stext, "text/html", "windows-1255");但仍然没有解决它,现在得到一个乱码..任何帮助都会祝福..谢谢
    • 嘿 Zohar,我自己从未真正做过,但一位朋友说这对他很有用。我会尝试就你的问题寻求他的帮助。
    【解决方案2】:

    Android 不正式支持 RTL 语言。

    看看这里:Android: RTL support - digits embedded in a right to left sentence (Hebrew)

    【讨论】:

      【解决方案3】:

      我没有足够的代表来回复 @Vitalyb 的答案中的 cmets,但我已经使用了这个解决方案并且效果很好。您只需要使用 webview,并使用 html 文本加载它。 Android 开发网站上有大量代码示例。

      【讨论】:

      【解决方案4】:

      我的最终解决方案是:

      添加一个 charset=utf-8

      public static String BuildHtml(String _HtmlString)
      {       
          StringBuilder sb = new StringBuilder();
          sb.append("<html>");
          sb.append("<meta http-equiv=\"Content-Type\" content=\"text/html;
                  charset=utf-8\">");
          sb.append("<body style=\"direction:rtl;\">");
          sb.append(_HtmlString.trim());
          sb.append("</body>");
          sb.append("</html>");
      
          return sb.toString();
      }
      

      然后在 loadData.. 之前调用它。

      myWebview.loadData(BuildHtml(mytext), "text/html", "utf-8");

      我很高兴听到(轻)简单的解决方案,使用 TextView 而不是 WebView..

      谢谢

      http://www.wave-site.com/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-05
        • 2021-11-30
        • 1970-01-01
        • 2012-07-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多