问题 System.Windows.Forms.TextBox中未显示的Unicode字符


当我从VisualStudio调试器中剪切并粘贴它们时,这些字符显示正常,但是在调试器和我尝试显示此文本的TextBox中,它只显示正方形。

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

我认为TextBox支持Unicode文本。知道如何在我的应用程序中显示此文本吗?


12547
2018-01-07 15:10


起源



答案:


您需要安装和使用支持这些字符的字体。并非所有字体都支持所有字符。 []框字符是'不支持'的字体表示

默认情况下,文本框可能正在使用MS Sans Serif,因此将其更改为Arial或其他内容。


8
2018-01-07 15:25



我尝试了“Arial”和“Arial Unicode MS”,但都没有更改TextBox以便它可以显示这些字符。字符在同一台计算机上的写字板中显示为“Arial Unicode MS”。 - Sean


答案:


您需要安装和使用支持这些字符的字体。并非所有字体都支持所有字符。 []框字符是'不支持'的字体表示

默认情况下,文本框可能正在使用MS Sans Serif,因此将其更改为Arial或其他内容。


8
2018-01-07 15:25



我尝试了“Arial”和“Arial Unicode MS”,但都没有更改TextBox以便它可以显示这些字符。字符在同一台计算机上的写字板中显示为“Arial Unicode MS”。 - Sean


我从使用TextBox更改为使用RichTextBox,现在字符显示在RichTextBox中。


4
2018-01-07 17:27





我面临着类似的问题。

它是 正确读取文件的问题 而不是 TextBox 控制。

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

复制自 这个

对我来说也是如此,而且无需转换 RichTextBox


0
2017-10-25 06:54



您是否意识到Encoding.Default是当前操作系统默认安西码页(即Winows-1252,Windows-1250,Shift-JIS ......)?它不应该用于多语言应用程序。 - Paweł Dyda