希伯来语和普通文本显示不正确 [英] Hebrew and normal text not displaying right
问题描述
我正在尝试混合显示希伯来语和普通文本,文本来自 SQLite 数据库,并显示在从资产文件夹中我的数据库中提取的列表视图中.
I'm trying to display Hebrew and normal text mixed, the text comes from a SQLite database and is displayed in a listview that gets pulled from my database in the Assets folder.
我想显示以下内容:
‘אנא אנא - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘אנא אנא - Ek is, was, sal wees Wie Ek is, was, sal wees."
但它显示为:
".Ek is, was, sal wees Wie Ek is, was, sal wees - אנא אנא'
".Ek is, was, sal wees Wie Ek is, was, sal wees - אנא אנא‘
当希伯来语文本介于其他普通文本之间时,它可以像:
他说 אנא אנא - 我是,过去,将来,我是谁,过去,将来."
‘He says אנא אנא - I am, was, shall be Who I am, was, shall be."
只有当列表视图项以希伯来语开头时,文本才会混淆.
我试过了:
‘<\U+200f>אנא אנא<\U+200f> - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘<\U+200f>אנא אנא<\U+200f> - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘<\U200f>אנא אנא<\U200f> - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘<\U200f>אנא אנא<\U200f> - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘\U200fאנא אנא\U200f - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘\U200fאנא אנא\U200f - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘(\U200f)אנא אנא(\U200f) - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘(\U200f)אנא אנא(\U200f) - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘<\U+202b>אנא אנא<\U+202b> - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘<\U+202b>אנא אנא<\U+202b> - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘<\U202b>אנא אנא<\U202b> - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘<\U202b>אנא אנא<\U202b> - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘\U202bאנא אנא\U202b - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘\U202bאנא אנא\U202b - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘(\U202b)אנא אנא(\U202b) - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘(\U202b)אנא אנא(\U202b) - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘<\U+202e>אנא אנא<\U+202e> - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘<\U+202e>אנא אנא<\U+202e> - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘<\U202e>אנא אנא<\U202e> - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘<\U202e>אנא אנא<\U202e> - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘\U202eאנא אנא\U202e - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘\U202eאנא אנא\U202e - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘(\U202e)אנא אנא(\U202e) - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘(\U202e)אנא אנא(\U202e) - Ek is, was, sal wees Wie Ek is, was, sal wees."
但所有内容都显示为以下代码:(我不想看到代码)
‘<\U+200f>אנא אנא<\U+200f> - Ek is, was, sal wees Wie Ek is, was, sal wees."
‘<\U+200f>אנא אנא<\U+200f> - Ek is, was, sal wees Wie Ek is, was, sal wees."
我在清单中尝试过 android:supportsRtl="true",这只会影响我的情况下的文本对齐,而不影响文本.
Ive tried android:supportsRtl="true" in the manifest, this only affects the text allignment in my case and not the texts.
推荐答案
Sooo...这终于对我有用了....
Sooo... This finally worked for me....
textview.setTextDirection(View.TEXT_DIRECTION_LTR);
请注意,我的问题正如我所说,我从数据库读取数据而不显示字符串,所以这段代码强制从左到右读取所有数据,如果我不使用这一行,它会选择希伯来语字符作为 RTL 文本并希望将整个结果显示为 RTL.
Please note that my problem was as I said, Im reading data from a database and not displaying strings, so this code forces all data to be read from left to right, if I do not use this line, It picks up the Hebrew characters as RTL text and wants to display the whole result as RTL.
谢谢大家的帮助!我在这个过程中阅读并学到了很多东西!
Thanks for all the help though! I had a lot of reading and learned in the process!
这篇关于希伯来语和普通文本显示不正确的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!