Ampersand Does Strange Things in String Constants With Japanese Text

I just made the unpleasant discovery that an ampersand in a string constant containing Japanese text used in a menu or a label does strange things. In 32-bit the ampersand in the constant doesn’t display but the Japanese text is ok. In 64-bit the ampersand displays but the Japanese text is corrupted. I never noticed this problem until I did a 64-bit build of a Japanese language app. I went back and retyped the ampersands in Japanese input and that solved the problem but I was under the impression that mixing English and Japanese characters in a string was ok in UTF-8. The problem doesn’t happen with mixed text in text fields, only in menus and labels.

32-bit (ampersand doesn’t display but text is ok):

64-bit (ampersand displays but text is corrupted):

I ran into something similar. Not only in UTF8 but other encodings as well.
I see it in Listboxes and labels.

This example is UTF8 with Arabic text.

Fine in 32-bit. (First line)
Corrupted in 64-bit (Second line)

IsValidData says it’s fine. Converting the UTF8 with DefineEncoding to (for example) WindowsArabic crashes the App.

File a bug report in Feedback with a sample please.

I’ll create a sample project and submit a feedback report next week.

if I place a “&” inside a string constant it simply disapear at runtime…
is there a trick to see it ?

found it … must double the ampersand to see it.