在Windows窗体中设置文本框编码

问题描述

| 当我尝试从文件中获取一些文本并将其显示在文本框中时,直到我要编写捷克字符(例如čšž)之前,都可以。它们显示为:
Moj� nejv�t�� z�libou je �e�en� koresponden�n�ch semin���
我是否应该在将加载的文本分配给textBox1.text之前就将其设置为编码,还是可以更改textBox1.Text本身的编码? 我使用以下代码:
textBox1.Text = File.ReadAllText(file);
    

解决方法

尝试强制编码(如果您不知道正确的编码,机器默认应为OK):
textBox1.Text = File.ReadAllText(file,Encoding.Default);
无论如何,作为捷克人,我想您当前的默认编码是\“西欧(Windows)\”(也可以通过
Encoding.GetEncoding(1252)
获得它) 那也是我电脑上的那个(我有意大利语版本的Win7)。     ,从MSDN获得ReadAllText()   此方法尝试自动   根据以下内容检测文件的编码   字节顺序标记的存在。   编码格式UTF-8和UTF-32   (大端和小端)   可以被检测到。      使用ReadAllText(String,Encoding)   读取文件时方法重载   可能包含导入的文本,   因为无法识别的字符可能   无法正确读取。 尝试使用其他重载来显式指定Encoding,因为自动检测在您的情况下不起作用,例如
textBox1.Text = File.ReadAllText(file,Encoding.UTF8);
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...