LTR/RTL/Digit 个字符的逗号分隔组合重新排序问题

Comma separated combination of LTR/RTL/Digit characters reorder issue

我有一个由 excel sheet 生成的逗号分隔值列表。 (数字和 RTL 字符)
在列中具有这些值:1 | 2 | 3 | 4 | 5
会产生 1,2,3,4,5

的输出

但是当我的专栏中有 RTL 字符 (Persian/Arabic) 时,问题就出现了:1 2 ب الف 和最后的 5。 现在输出变成 1,2الو, ب, 5
因为我的列可以有多组 RTL 字符,所以它真的会把输出搞乱到通过替换几个输入来修复它不再是微不足道的程度。

我有哪些选项可以按正确的顺序生成 csv 文件?

我在 javascript 和 excel 中使用的工具都有同样的问题。

如果你的目的是只显示人眼的CSV,你可以在每个数字前添加 RIGHT-TO-LEFT MARK (‏):

‏1, ‏2, ب, الف, ‏5

‏1, ‏2, ب, الف, ‏5

请注意,这些字符可能会使您用来解析 CSV 的任何工具变得疯狂。

我认为您的 CSV 文件的顺序已经正确。在您粘贴的问题文本中:

1,2الف, ب, 5

“1”是字符串中的第一个字符,“5”是最后一个字符。对您来说似乎不是那样,因为字符串 (1,2) 的前半部分呈现 LTR,而字符串的后半部分 (ال, ب, 5) 呈现 RTL。