2016-07-26 4 views
0

특정 텍스트가 들어있는 텍스트의 모든 줄을 작은 C# 응용 프로그램의 파일 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);