【问题标题】:How can I use Turkish characters like 'ş ç ı ö' in an Android TextView?如何在 Android TextView 中使用土耳其语字符,如“ş ç ı ö”?
【发布时间】:2012-02-22 14:12:39
【问题描述】:

我想在 android TextView 中写 'ile' 但它没有正确绘制。这样的字符怎么用?

例如,我将我的 textview 设置为 'çile' 它显示为 '?ile';我该如何解决这个问题?

【问题讨论】:

  • 您是否检查过正在使用的字体是否包含这些字符?
  • 它也不支持某些葡萄牙语、西班牙语、意大利语字符。

标签: android character-encoding special-characters textview


【解决方案1】:

尝试以下方法,看看是否有帮助 (source):

String description = "Turkish characters here";
TextView tv = (TextView) findViewById(R.id.description); 
tv.setText(Html.fromHtml(description).toString());

【讨论】:

  • 无法识别html标签
  • @ersyn61 你指的是什么html标签?
  • 我使用你的代码和 ımport html 但同样的问题。土耳其字符没有看到
  • 它也不支持某些葡萄牙语、西班牙语、意大利语字符。
【解决方案2】:

这对我来说是尖叫:字符编码问题。许多软件(例如浏览器、数据库客户端)通过用问号替换它们来稳健地处理意外字节。但土耳其语字符由 Android 的默认字符集“UTF-8”支持。

http://developer.android.com/reference/java/nio/charset/Charset.html#defaultCharset%28%29

您可能希望首先检查您的字符集是否确实设置为 UTF-8/16 或 ISO-8859-9(土耳其语)。如果这不是问题,则可能是字体本身。

如果这仍然不能解决问题,我会发布一个您用于显示文本的代码的小示例。从文件到数据库再到数据库连接到网络浏览器,有很多地方可以进行转换。

【讨论】:

  • 我想让我的 textview 支持所有语言字符?我能做什么
  • 请发布您的代码的小示例以及您发现问题的位置。 UTF8 编码支持外语字符。
  • 在我的清单中: 但是当我想在 textview 中使用西班牙语或土耳其语字符时似乎没有
  • getinput.settex("grávida");这看起来像这样:gr?vida
  • 它也不支持某些葡萄牙语、西班牙语、意大利语字符。
【解决方案3】:

这个答案解决了我对土耳其字符的问题。

https://stackoverflow.com/a/9312031/218198

【讨论】:

  • 这个简单的解决方案对我来说不适用于 SDK 的 2.3 和 3.2。为了涵盖 2.3、3.2 和 4.0,我添加了更多行:String htmlData = "Html data with tags and turkish characters";String header = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>";webView.loadData(header+htmlData, "text/html;charset=UTF-8", null);
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-20
  • 2014-08-09
相关资源
最近更新 更多