2009-01-07 81 views
11

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.Unicode characters not showing in System.Windows.Forms.TextBox

說明\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?

回答

4

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

8

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.

+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 2009-01-07 17:26:56

0

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 .

+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. – 2011-09-21 13:34:24