输出文件错误的字符集

时间:2016-07-26 05:46:51

标签: c# file encoding character-encoding

我想将包含特定文本的文本中的所有行复制到带有小型c#应用程序的文件b。 它已经工作,但输出文件没有显示像“äöü”这样的特殊字符。我已经尝试将字符集设置为utf-8,但它不起作用。 这是我的功能:

void BtnCnvClick(object sender, EventArgs e)
    {
            if(File.Exists(txSource.Text)) {
                string[] srcFile = File.ReadAllLines(txSource.Text, System.Text.Encoding.UTF8);
                StreamWriter w = new StreamWriter(new FileStream(txOut.Text, FileMode.Open, FileAccess.ReadWrite), System.Text.Encoding.UTF8);
                for(int i=0; i < srcFile.Length;i++) {
                    //progressBar1.Value = i/srcFile.Length;
                    if(i==0&&useHead) {
                        w.WriteLine(srcFile[i]);
                    } else {
                        if(srcFile[i].Contains(txFilter.Text)) {
                            w.WriteLine(srcFile[i]);
                        }
                    }
                }
                w.Close();
                MessageBox.Show("Export successful!");
            }
            else MessageBox.Show("Please input a valid file name and filter.");
    }

//编辑:它现在正在运行,我只需将其从UTF-8更改为Encoding.Default!

1 个答案:

答案 0 :(得分:0)

改变这个:

StreamWriter w = new StreamWriter(new FileStream(txOut.Text, FileMode.Open, FileAccess.ReadWrite), System.Text.Encoding.UTF8);

到此:

StreamWriter w = new StreamWriter(new FileStream(txOut.Text, FileMode.Open, FileAccess.ReadWrite), System.Text.Encoding.Default);