12

These characters show fine when I cut-and-paste them here from the VisualStudio debugger, but both in the debugger, and in the TextBox where I am trying to display this text, it just shows squares.

说明\r\n海流受季风影响,3-9 月份其流向主要向北,流速为2 节,有时达3 节;10 月至次年4 月份其流向南至东南方向,流速为2 节。\r\n注意\r\n附近有火山爆发的危险,航行时严加注意\r\n

I thought that the TextBox supported Unicode text. Any idea how I can get this text to display in my application?

Sean
  • 1,373
  • 2
  • 14
  • 26

5 Answers5

9

You need to install and use a font which supports those characters. Not all fonts support all characters. the [] box character is the fonts representation of 'unsupported'

The textbox might be using MS Sans Serif by default, so change it to Arial or something else.

Dirk Vollmar
  • 172,527
  • 53
  • 255
  • 316
Dead account
  • 19,587
  • 13
  • 52
  • 82
  • 1
    I tried both "Arial" and "Arial Unicode MS", but neither changed the TextBox so that it could display those characters. The characters do show with "Arial Unicode MS" in WordPad on the same computer. – Sean Jan 07 '09 at 17:26
5

I changed from using a TextBox to using a RichTextBox, and now the characters display in the RichTextBox.

Sean
  • 1,373
  • 2
  • 14
  • 26
1

I was facing similar problem.

It was problem with reading file properly and not with TextBox control.

StreamReader reader = new StreamReader(inputFilePath, Encoding.Default, true)

Copied from THIS.

Works for me and that too without switching to RichTextBox.

Community
  • 1
  • 1
Pratik Deoghare
  • 35,497
  • 30
  • 100
  • 146
  • 2
    Do you realize that Encoding.Default is the current OS Default Ansi Code Page (i.e. Winows-1252, Windows-1250, Shift-JIS...)? It should not be used in multilingual application. – Paweł Dyda Sep 21 '11 at 13:34
0

Did you add Application.SetCompatibleTextRenderingDefault(false); to your main.cs file? If not, the unicode characters won't show.

NoobyGamr
  • 11
  • 5
0

Microsoft Sans-Serif does support unicode characters to my knowledge. Check that you have these lines of code in your main.cs file:

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
NoobyGamr
  • 11
  • 5