Sean
Sean

Reputation: 1403

Unicode characters not showing in System.Windows.Forms.TextBox

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?

Upvotes: 12

Views: 24487

Answers (5)

NoobyGamr
NoobyGamr

Reputation: 11

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);

Upvotes: 0

NoobyGamr
NoobyGamr

Reputation: 11

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

Upvotes: 0

Pratik Deoghare
Pratik Deoghare

Reputation: 37172

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.

Upvotes: 1

Sean
Sean

Reputation: 1403

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

Upvotes: 5

Dead account
Dead account

Reputation: 19960

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.

Upvotes: 9

Related Questions