2013-04-02 87 views
2

我已經放入一個奇怪的問題 我有一個文本框,我正在嘗試閱讀文本。但是,當文本框包含阿拉伯文和英文文本時,似乎文本被混洗。我這是怎麼讀取文本框中我的文字:正在洗牌的阿拉伯文/英文文本

string temp = input.Text; 

這是我在文本框中我插入文本:

باهم和英語متنفارسی

這是文本我從文本框中獲得:

فارسی和英文باهم

+0

你在哪裏看到洗牌文本? – Oded

回答

0

在文本的開頭添加RLE字符。

const char RightToLeftEmbedding = (char)0x202B; 
0

阿拉伯語是一種右翼語言。英語從左到右。所以這實際上是正確的 - 屏幕上的阿拉伯語將是相反的順序(字符串位置0將在最右邊)。

+0

這取決於嵌入式雙向控制字符。 – Oded

0

這可能不是ASP.NET的問題,而是使用它輸出的HTML。

檢查瀏覽器中的HTML元素,並檢查計算樣式中的「direction」屬性。如果輸入框的主要語言是阿拉伯語或波斯語,則應該是「rtl」,如果是英語,則應該是「ltr」。如果是另一種方式,則需要通過在HTML元素上使用適當的dir屬性來調整它。

這隻能調整它的用戶界面。文本可能沒有正確的方向保存到您的數據庫中,但這可能沒有問題,因爲數據庫是內部的,而且通常不會被用戶看到。

相關問題