3

I'm wondering how to resolve this problem on my app that has Hebrew and English texts. The problem is, the texts are being shuffled.

The output is:

1#1#1#1#0#0#0#1#B - פריט ייצור#3028#

Instead of

1#1#1#1#0#0#0#1#B - פריט ייצור# a3028

Here's my code:

The

cbTranType.Selected.Value

contains Hebrew text.

Dim oItemName As String = vbNullString
oItemName = "**CBSTART**#**CBDEST**#**CBSENDER**#" &
    "**CBREC**#**CBCARTYPE**#**CBCARGTYPE**#**CBCARGO**#**CBFACTTYPE**#**CBTRANTYPE**#" &
    "**CBUOM**#**TXTGRPROW**"

oItemName = oItemName.Replace("**CBSTART**", cbStart.Selected.Value)
oItemName = oItemName.Replace("**CBDEST**", cbDest.Selected.Value)
oItemName = oItemName.Replace("**CBSENDER**", cbSender.Selected.Value)
oItemName = oItemName.Replace("**CBREC**", cbRec.Selected.Value)
oItemName = oItemName.Replace("**CBCARTYPE**", cbCarType.Selected.Value)
oItemName = oItemName.Replace("**CBCARGTYPE**", cbCargType.Selected.Value)
oItemName = oItemName.Replace("**CBCARGO**", cbCargo.Selected.Value)
oItemName = oItemName.Replace("**CBFACTTYPE**", cbFactType.Selected.Value)
oItemName = oItemName.Replace("**CBTRANTYPE**", cbTranType.Selected.Value)
oItemName = oItemName.Replace("**CBUOM**", cbUOM.Selected.Value)
oItemName = oItemName.Replace("**TXTGRPROW**", txtGrpRow.Value)
Sandra Rossi
  • 11,934
  • 5
  • 22
  • 48
Zach
  • 317
  • 1
  • 3
  • 16
  • Study the Unicode BiDi Algorithm. – Raymond Chen Nov 18 '17 at 16:25
  • How can I apply this answer to VB.NET https://stackoverflow.com/questions/12630566/parsing-through-arabic-rtl-text-from-left-to-right – Zach Nov 19 '17 at 03:11
  • Leaving it up to the text renderer to figure out how to correctly render a mix of Western punctuation and LTR text with RTL text is never not a mistake. Be sure to include hints, use U+200F and U+200E. https://en.wikipedia.org/wiki/Right-to-left_mark – Hans Passant Nov 19 '17 at 13:33
  • @HansPassant "never not a mistake"... meaning always a mistake? – Zohar Peled Nov 19 '17 at 16:33
  • Encoding characters in a string in VB.NET is [already answered](https://stackoverflow.com/a/3149253). Please search before asking. – Raymond Chen Nov 19 '17 at 17:00

0 Answers0