我遇到了一个奇怪的问题,令我非常困扰。
我有一个 UTF-8 的 CSV 文件。它由一些文本字段和数字字段组成。当我在 Notepad/Notepad++ 中打开该文件并尝试向其中添加阿拉伯语文本时,它的行为非常奇怪。文本摘录如下:
,14602,Jeddah,Project#1,62370.00,210000.00,Credit,
当我尝试在同一字段中在吉达之后添加阿拉伯语文本时,它可以正常工作,但仅仅是因为后面的字段也是一个文本字段。
14602,Jeddah / تاريخ,Project#1,62370.00,210000.00,Credit,
但是当我尝试在 Project#1 之后添加阿拉伯语文本时,它会自动将阿拉伯语文本移动到下一个文本字段的开头
14602,Jeddah / تاريخ,Project#1 / تاريخ,62370.00,210000.00,Credit,
有人知道到底发生了什么吗?插入阿拉伯语后,我试图将数据加载到数据库中,但这使其变得不可能……
答案1
有人知道到底发生了什么事吗?
正如 Moishe Pippik 博士的评论所暗示的,您混合了从左到右的脚本和从右到左的脚本。
作为维基百科说
许多计算机程序无法正确显示双向文本。
它会自动将阿拉伯语文本移动到下一个文本字段的开头
从右到左字段的开头与从左到右用户所期望的位置不同。例如,使用键盘箭头键将光标移动到混合的 LTR 和 RTL 文本中可能会非常令人兴奋,尤其是当一个或多个脚本使用组合字符时。
如果您是一位流利的阿拉伯语和英语母语作家,那么您已经了解上述所有内容。这个问题的新读者可能不了解。这个答案至少应该对他们有所帮助。