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