.NET Strings are Unicode by nature, so all text you display in a .NET app is Unicode text. You're going to have to be more specific. Do you mean that you want to read a Unicode-encoded text file and display its contents in a TextBox? Something else? Please ALWAYS provide a FULL and CLEAR description of the ENTIRE problem.
I have now found the answer to your question, and to mine..NET Strings are Unicode by nature, so all text you display in a .NET app is Unicode text.
Contrary to a previous reply I have now found the answer to your question, and to mine.
I found it very curious, after much Googling, that this question has been asked many times since 2005, and none have a clean answer, and in many of the forum hits and Microsoft Support sites that Google threw up, the question had zero responses.
The simple answer is that Unicode characters CANNOT be displayed in TextBoxes or RichTextboxes. The reason is that although Visual Basic is indeed based internally on the double-byte Unicode standard, when it comes to displaying that data in a TextBox it will be converted from the internal Unicode representation to an ANSI representation before it is written to the TextBox control, and so the UNICODE strings will not display correctly.
The only solution that has been offered in the past is a workaround, and involves using a Forms 2.0 control (which can display Unicode characters correctly).
Unfortunately, Forms 2.0 is part of Microsoft Office and is not redistributable. Therefore, you cannot distribute Forms 2.0 (fm20.dll) with your application. It must already be on the target machines.
If you want to go down the Forms 2.0 route (which is far from ideal, and I would recommend Java, which has no such limitations), then an intro to the whole problem, and the Forms 2.0 approach, is in this MS article.
How To Read and Display UNICODE String on Visual Basic Form
Good luck,
Wibs
Wibs is incorrect. Try this, as I just did.
1. Open the Windows Character Map applet. It should display the Arial font by default.
2. Scroll down to the bottom of the map.
4. Double-click each of the last four characters. They should have values FEF9 - FEFC.
5. Click the Copy button.
6. Create a WinForms project and add a TextBox to the form.
7. Select the Text property of the TextBox and hit Ctrl+V.
8. Run the project.
You should see those four characters copied from the Character Map in your TextBox, as I did.
Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton3.Click
RichTextBox1.Paste()
RichTextBox1.Select(RichTextBox1.Text.Length, 0)
End Sub
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
RichTextBox1.Text = RichTextBox1.Text.Insert(RichTextBox1.SelectionStart, "a")
RichTextBox1.Select(RichTextBox1.Text.Length, 0)
End Sub
Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click
RichTextBox1.Text = RichTextBox1.Text.Insert(RichTextBox1.SelectionStart, "b")
RichTextBox1.Select(RichTextBox1.Text.Length, 0)
End Sub
RichTextBox1.Text = RichTextBox1.Text.Insert(RichTextBox1.SelectionStart, ChrW(&H0022))
The article is clearly for VB6 or older, and not relevant for current .Net platform. VB and .Net has no problems with unicode or any other text encodings.This is interesting. The copied Unicode text DID paste OK into the RichTextBox, which does appear to contradict the MS Article I quoted from.
What I can say is that there exist a version 2.0 and 3.0 of that font, and only the 3.0 version has the char range A750 - A770 that you mention, which displays fine in Character Map also. Still there are problems with that font, using the v3 font those chars will display in a Label and a TextBox, but not in a RichTextBox. The only problem I could see in Character Map was that those chars did not have a unicode subgroup defined ('undefined'). Why the RichTextBox (which is a OS control) does not display them correctly beats me, I've never seen anything like it and would blame the font. The same erratic behaviour can be seen using Notepad and Wordpad, which uses the same controls. For example pasting one such char into Wordpad set to that font will simply change the font as if the font didn't support that code point (when I tested a font that supported Chinese GB2312 was substituted).
Code editor uses a single font to display the code, and can only display chars from that font, even though the character code is valid (when any char is pasted), and will therefore display the correct char when the text is displayed with the designated font.
The simple answer is that character map is (to put it politely) not very good, and has not been updated to reflect new versions of Unicode since it was created. The version that ships with XP is stuck in the world of Unicode 3.0 from 1999, and will only display characters that were defined in Unicode 3.0 (i.e. only 49,259 out of the current total of 109,449 characters). The versions of character map that ship with Vista and 7 are not much better.
Since I use Vista and Character Map displays it, I take it you are using XP. Anyway, the Vista RichTextBox control will also not display those chars for that font, so I can only advice you to use a different font or use the Label or TextBox control to display them.