C#输入输出流中中文乱码问题

来源:百度知道 编辑:UC知道 时间:2024/06/19 09:48:28
小弟C#新手,第一次做此类程序,要从类似如下的文件中读出中文选项:
AcDbLayerTableRecord
2
中文
70
0
62
7
6
Continuous
370
-3
390
F
1001
AcAecLayerStandard
1000

EOF

具体代码如下:
private void ReadLayerFromFile(string textfile)
//textfile是传入的文件路径
{
string line1 = "";
string line2 = "";
string line3 = "";

theSourceFile = new FileInfo(textfile);

//StreamReader reader = null;
StreamReader reader = new StreamReader(textfile, Encoding.Default);

try
{
reader = theSourceFile.OpenText();

}
catch (FileNotFoundException e)
{
MessageBox.Show(e.FileName.ToString() + " is not found");

把这条 StreamReader reader = new StreamReader(textfile, Encoding.Default);
改成
StreamReader reader = new StreamReader(textfile, Encoding.GetEncoding("gb2312"));
试试看。

编码问题:webconfig中加这个:
<globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312"/>
就行了~

编码的问题,换成中文编码方式,比如gb2312;
楼上的那位就行
StreamReader reader = new StreamReader(textfile, Encoding.GetEncoding("gb2312"));

web.config中加如下节:
<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>