当英语和阿拉伯语单词放在一个字符串中时,单词倾向于随机播放,因为阿拉伯语有RTL方向,而英语有LTR。
我正在尝试发送电子邮件,以下是我的电子邮件的主题
String subText = "Financial Details of شركة اختبار were sent";
电子邮件主题显示为
发送了شركةمصنعالجواربالراقيه。 المحدوده金融
的详细信息
在检查了一些其他resource后,我决定在开头添加不可见的RLE字符,据说可以停止这样的随机播放,但仍然会得到相同的洗牌版本。
char RightToLeftEmbedding = (char)0x202B;
subText = RightToLeftEmbedding + subText ;
这种方法有什么问题?
答案 0 :(得分:1)
似乎由呈现电子邮件主题的软件应用的整体书写方向是从右到左,可能是因为它是专门设计或配置为使用从右到左的语言,如阿拉伯语。结果并没有真正改组,而是正常的从右到左渲染,其中一系列具有从左到右方向性的角色以该方向性呈现。
使用U + 202B RIGHT-TO-LEFT EMBEDDING没有帮助,因为它只是明确要求从右到左方向,无论如何都要使用它。相反,使用U + 202A LEFT-TO-RIGHT EMBEDDING。