[C#] .Net core 3.1 인코딩 한글 지원
참고 링크 : https://docs.microsoft.com/ko-kr/dotnet/api/system.text.encoding?view=netcore-3.1
//.Net Core는 기본적으로 한글을 지원 안 하기 때문에
//Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); 를 넣어줘야 한다.
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
foreach (var inputFilePath in Filelist)
{
try
{
using (var outputFile = new StreamWriter(new FileStream(sOutputPath, FileMode.Append, FileAccess.Write), Encoding.UTF8))
{
outputFile.AutoFlush = true;
try
{
if (AddFileName) // 파일명 추가시
{
FileInfo fileInfo = new FileInfo(inputFilePath);
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append("=====================================\n");
stringBuilder.Append($"FullName : {fileInfo.FullName}\n");
stringBuilder.Append($"FileName : {fileInfo.Name}\n");
stringBuilder.Append($"FileSize : {fileInfo.Length / 1024}KB\n");
stringBuilder.Append("=====================================\n");
outputFile.Write(stringBuilder.ToString());
}
outputFile.WriteLine(File.ReadAllText(inputFilePath, Encoding.GetEncoding(51949)));
nSuccessCount++;
}
catch (Exception e)
{
outputFile.WriteLine("error : " + e.StackTrace);
}
}
}
catch (Exception e)
{
Debug.WriteLine("error : " + e.StackTrace);
}
}