티스토리 뷰
728x90
요즘은 EUC-KR 인코딩을 처리할 일이 거의 없을 정도로 UTF-8 인코딩이 일반화되었다. 표준으로 굳어진 UTF-8 인코딩을 사용하는 웹페이지가 90% 이상이라고 한다. 문제는 고객의 요청이나 기타 사유로 EUC-KR 인코딩을 사용해야 하거나 사용할 수밖에 없는 상황이 있다는 것이다. 대표적인 것이 CSV 파일로 저장해서 엑셀로 읽거나 또는 반대의 경우이다.
File.WriteAllText(outDir, sb.ToString(), System.Text.Encoding.GetEncoding("euc-kr"));
통상 위와 같은 코드를 작성하면 지정한 인코딩으로 변환해서 스트링을 파일로 저장할 수 있다.
문제는 개발을 닷넷 프레임워크 기반이 아니라 닷넷 코어를 기반으로 하는 경우에 닷넷 코어 5.0 이상부터는 닷넷 코어를 가볍게 하기 위해서 UTF-8이나 ASCII는 기본적으로 지원하지만 다른 인코딩은 포함하지 않기 때문에 저 문장에서 다음과 같은 예외가 발생한다.
'euc-kr' is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method. (Parameter 'name')
이런 경우의 해결책은 일단,
dotnet add package System.Text.Encoding.CodePages
위의 명령으로 프로젝트에 코드 페이지 패키지를 추가하고, 인코딩 관련 작업 이전에
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
위의 문장을 추가하여 코드페이지를 등록하면 정상적으로 수행할 수 있다. 프로그램 어떤 곳에다 추가해도 관계없다.

적용 결과 닷넷 8.0 코어에서도 정상적으로 EUC-KR 인코딩 출력이 가능했다.
728x90
'프로그래밍' 카테고리의 다른 글
| 닷넷에서 프로젝트 파일없이 단일 C# 코드를 빌드하고 실행하기 (0) | 2026.04.17 |
|---|---|
| 아발로니아 릴리즈 모드 디버깅 (0) | 2026.03.31 |
| 아발로니아 UI 예제 프로그램 리뷰 7 - SimpleToDoList (0) | 2025.11.10 |
| 아발로니아 UI 예제 프로그램 리뷰 6 - DialogManagerSample (0) | 2025.11.07 |
| 아발로니아 UI 예제 프로그램 리뷰 5 - MvvmDialogSample (0) | 2025.10.28 |
댓글