如何更改android上的字体以允许显示“'”或“à”等特殊字符? 实际上,包含这些字符的字符串存储在sqlite数据库中。
答案 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文件。