목록으로

Programming Notes

패키지 관리자 콘솔, 넌 왜 글자가 깨지니? (C# 한글 깨짐 해결기)

개발하다 보면 NuGet 패키지 관리자 콘솔을 자주 사용하게 되죠. 그런데 간혹 콘솔에 출력되는 메시지들이 외계어처럼 깨져 보이는 경험, 다들 한 번쯤은 있으실 겁니다. 특히 한글이 포함된 메시지가 깨져 나오면 정말 답답하죠. 이 문제는 단순히 눈에 거슬리는 정도를 넘어,...

개발하다 보면 NuGet 패키지 관리자 콘솔을 자주 사용하게 되죠. 그런데 간혹 콘솔에 출력되는 메시지들이 외계어처럼 깨져 보이는 경험, 다들 한 번쯤은 있으실 겁니다. 특히 한글이 포함된 메시지가 깨져 나오면 정말 답답하죠. 이 문제는 단순히 눈에 거슬리는 정도를 넘어, 중요한 정보를 제대로 파악하지 못하게 만들어 생산성을 떨어뜨리는 주범이 되기도 합니다. 하지만 걱정 마세요! 간단한 설정 변경으로 이 문제를 해결하고 쾌적한 개발 환경을 만들 수 있습니다.

윈도우, NuGet, 그리고 인코딩 삼박자

이 문제의 원인은 윈도우 콘솔의 기본 인코딩 방식과 NuGet 패키지 관리자 콘솔에서 사용하는 인코딩 방식이 서로 맞지 않기 때문입니다. 윈도우의 기본 콘솔 인코딩은 종종 영문 환경에 맞춰져 있어 한글을 제대로 표현하지 못하는 경우가 발생합니다. 이럴 때 우리가 해야 할 일은 NuGet 패키지 관리자 콘솔이 사용할 인코딩 방식을 명시적으로 지정해 주는 것입니다.

해결 방법은 간단합니다. Visual Studio의 패키지 관리자 콘솔에서 다음 명령어를 입력하면 됩니다.

[System.Console]::OutputEncoding = [System.Text.Encoding]::UTF8

이 명령어는 콘솔의 출력 인코딩을 UTF-8로 변경하라는 의미입니다. UTF-8은 전 세계의 다양한 문자를 표현할 수 있는 강력한 인코딩 방식이므로, 대부분의 한글 깨짐 문제를 해결해 줄 것입니다.

하지만 매번 Visual Studio를 실행할 때마다 이 명령어를 입력해야 한다면 번거롭겠죠? 이 설정을 영구적으로 적용하는 방법도 있습니다. Visual Studio의 프로필 파일에 위 명령어를 추가하면 됩니다. 프로필 파일은 PowerShell 콘솔을 시작할 때 자동으로 실행되는 스크립트 파일입니다. 프로필 파일을 찾아 (없다면 새로 생성하고) 위 명령어를 추가하면, Visual Studio를 실행할 때마다 자동으로 UTF-8 인코딩이 적용되어 더 이상 한글 깨짐 문제로 고생할 필요가 없습니다. 프로필 파일의 위치는 일반적으로 $PROFILE 변수를 통해 확인할 수 있습니다.

깔끔한 콘솔, 즐거운 개발

이제 더 이상 외계어 때문에 답답해하지 마세요. 간단한 인코딩 설정 변경으로 깨끗한 한글을 보면서 개발에 집중할 수 있습니다. 작은 문제 해결이 개발 생산성을 높이는 첫걸음이라는 것을 잊지 마시고, 쾌적한 개발 환경을 만들어 더욱 즐겁게 코딩하세요!