로딩
요청 처리 중입니다...

왜 .NET Core에서 한글이 깨졌을까

 왜 .NET Core에서 한글이 깨졌을까

이상하게 한글이 전부 깨져 보였습니다. 에러가 난 것도 아니었습니다.

그냥 내용이 이상했습니다. 처음에는 파일이 잘못된 줄 알았습니다.

다시 받아보고, 메모장으로 열어보고, UTF-8로 재저장도 해봤습니다.' 그런데 문제는 파일이 아니라 제가 읽는 방식이었습니다.

내가 당연하게 생각했던 것 저는 그냥 이렇게 쓰고 있었습니다. File.ReadAllText(path); 그리고 속으로 이렇게 생각하고 있었습니다.

요즘은 다 UTF-8 아니야? 하지만 아니었습니다.

그 파일은 CP949 기반이었습니다. .NET Framework와 .NET Core의 차이 과거 .NET Framework 시절에는 이런 파일을 읽어도 크게 문제를 느끼지 못했습니다. 하지만 .NET Core 는 기본이 UTF-8 중심입니다.

Code Page 인코딩은 자동으로 열리지 않습니다. 결국 949로 읽어야 할 파일을 UTF-8로 읽어버린 셈이었습니다.

결과는 당연히 깨짐이었습니다. 해결 방법 해결은 단순했습니다.

E...