特殊字符的问题

时间:2011-06-15 12:40:10

标签: android sqlite character

如何更改android上的字体以允许显示“'”或“à”等特殊字符? 实际上,包含这些字符的字符串存储在sqlite数据库中。

4 个答案:

答案 0 :(得分:2)

当您将文字加载到TextView时,这对您有用吗?

textView.setText(new String(textFromDatabase, "UTF-8"));

这使用String构造函数来设置charset名称。您可以将“UTF-8”更改为其他Character encoding - 另请参阅String的javadoc。

  

String(byte[] bytes, String charsetName) -   通过使用指定的字符集解码指定的字节数组构造一个新的String。

答案 1 :(得分:1)

Droid字体支持“'”,“à”和许多其他字符。我一直使用它们(pt语言)。

实际上,我很确定他们支持所有Basic Latin,Latin 1补充和第一个扩展拉丁系列。他们也支持许多其他像希伯来语等,虽然我不确定SDK版本之间是否有所改变。

您还可以在市场中下载Unicode地图应用,以检查您的特定设备中可用的字符。我也一直在sqlite中存储unicode文本,但我仍然没有任何问题。

要考虑的一件事:检查您设置的编码是否与源的编码匹配。它可能是文本或URL ......例如:

BufferedReader b = new BufferedReader(new InputStreamReader(url.openStream(), MY_ENCODING));

你确定它不是某个地方的问题吗?

答案 2 :(得分:1)

您应该使用''而不是'将其存储到Sqlite数据库中。 例如,如果要将5 o'clock存储到数据库中,则必须将其写为5 O''clock。请查看here,了解有关它的更多信息。

答案 3 :(得分:1)

默认情况下,Android SQLite使用UTF-8。 我有这个问题,因为当我在第一次启动时填充数据库时,我使用了另一个字符集的txt文件。