假设我有一个DataRow
,其中包含许多列,
//header
firstnameEnglish , FirstNameArabic, LastnameEnglish , LastNameArabic,
project, addressEnglish, addressِArabic
//data'hatem', 'حاتم', 'gamil','جميل','||',
'11 el haram street','11الهرم'
我想在一个字符串中获取行数据,我可以将其导出到文本文件中。
我在for
列上执行DataRow
循环,类似于此,
string data = String.Empty;
for(int i=0; i < datarow.columns.count<0; i++)
datastr += datarow[i] + " | ";
我的问题是,data
中的字符串以错误的方式连接。调试之后,我发现连接正常,直到将addressEnglish
连接到data
。此时data
已经包含连续列中的值,包括阿拉伯列。
输出是,
'hatem', 'حاتم', 'gamil', 'جميل','||', '11 ELHaram street','11 شارع الهرم'
这是错误的。
我想知道为什么会出现这种情况以及如何解决这个问题
由于
答案 0 :(得分:0)
您确定这不是用于在屏幕上显示结果的程序问题吗?由于阿拉伯语是从右向左,因此支持Unicode的程序通常使用启发式方法来确定围绕阿拉伯语短语的标点符号应该从右到左一起呈现。
逐字符转储可以更容易确定实际存在要解决的问题。
(相反,您确定输入csv中的标点符号以正确的顺序存储吗?)