2016-07-26 15 views
0

私は、特定のテキストを含むテキストaから小さなb#アプリケーションを使用してファイルbにすべての行をコピーしたいと考えています。 すでに動作していますが、出力ファイルには "ööü"のような特殊文字は表示されません。私はすでにcharsetを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."); 
    } 

//編集:それは今働いている、私はちょうどEncoding.DefaultにUTF-8からそれを変更する必要がありました!

+0

試み "Encoding.Default" –

+0

ああ、それが働いて - 感謝 – Cryonic

答えて

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); 
関連する問題