반응형
한글이 깨진 상태로 저장되면 데이터의 무결성이 훼손됩니다. 이는 데이터의 신뢰성을 떨어뜨리며, 이후 데이터를 사용할 때 잘못된 정보로 인해 심각한 오류를 초래할 수 있습니다. 또한 CSV 파일을 사용자들이 읽거나 사용할 때 한글이 깨진다면 사용자 경험이 크게 저하됩니다. 이는 사용자가 파일을 이해할 수 없게 만들며, 사용자에게 불편을 초래합니다.
![](https://blog.kakaocdn.net/dn/wAO4S/btsH9MqZJh2/eykKv7gE5qyPsTPDm9gzj1/img.png)
한글 깨짐 현상을 해결하기 위해 StreamWriter를 사용할 때 UTF-8 인코딩을 명시적으로 지정하는 것이 일반적인 해결 방법입니다. StreamWriter객체를 만들어 CSV 파일을 저장하는데 한글이 깨진다면 인코딩 정보를 넘겨야 만들어야 합니다.
샘플 코드를 통해서 알아보겠습니다. 아래 코드를 실행한 결과 한글 인코딩이 깨져서 보입니다.
using (StreamWriter file = new StreamWriter(@"test.csv"))
{
int dataCount = 1;
file.WriteLine("No, title, url"); // 헤더 설정
foreach (KeyValuePair<String, String> items in dicSearchData)
{
String dicTitle = items.Value;
String dicUrl = items.Key;
// 데이터 나열
file.WriteLine("{0}, {1}, {2}", dataCount, dicTitle, dicUrl);
dataCount++;
}
}
![](https://blog.kakaocdn.net/dn/bOWehw/btsH8I4gWdA/jiee5gk7ahVpY7N5I7kAuK/img.png)
SystemWrite 객체 생성할 때 System.Text.Endcoding.Default 를 넘기면 기본 시스템 인코더를 세팅합니다.
using (StreamWriter file = new StreamWriter(@"test.csv", false, System.Text.Encoding.Default))
특정 인코더를 지정할 수도 있습니다. 그림처럼 Encoding 종류중에 하나를 선택합니다.
![](https://blog.kakaocdn.net/dn/GFw6f/btsH705BURV/5SVtlIcpakf6N1n1GuCUkk/img.png)
인코딩 지정을 변경한 결과는 다음과 같습니다. 정상적으로 표현이 되는 것을 알 수가 있습니다.
![](https://blog.kakaocdn.net/dn/eqg135/btsH9oKJ75y/RVyrKvS6mV3ooTh4yBzpE1/img.png)
반응형
'기타 언어 > C# & MFC' 카테고리의 다른 글
시샵 C# ListView 데이터 추가시 첫 열에 추가하는 다양한 방법 (3) | 2024.04.02 |
---|---|
시샵(C#) OpenFileDialog 도구 이용해서 파일 대화상자 구현하기 (0) | 2024.03.25 |
시샵 C# DataSet 에 값 셋팅과 읽기 오기 위한 여러가지 방법 (3) | 2024.03.04 |
C# 개발 추가 Net Framework, Net Core 설치하기 (1) | 2023.12.31 |
C# 윈폼(WinForm) 프로젝트에서 콘솔창(console) 띄워서 로그 보는 방법 (0) | 2023.12.27 |
시샵(C#) 폼(From) 띄우기와 닫기 (1) | 2023.12.20 |
시샵 C# 파일경로에서 확장자, 파일명, 경로 추출하는 함수와 예제 (2) | 2023.10.22 |
시샵 C# 리스트뷰(ListView) 컨트롤 선택한 데이터 가져오기 (0) | 2023.09.18 |