https://mainia.tistory.com/1459
C# 에서 MySQL Connector 다운받아 데이터를 저장하고자 할 때 한글이 깨지는 경우가 있습니다. 아래는 그 해결 방법입니다.
▼ 먼저 MySQL 셋팅을 바꿔야 합니다. 테이블 생성할 때 와 필드 생성할 때 기본값이 아닌UTF8 로 해줍니다. 기본은 latin1_swedish_ci 로 되어있는데 VARCHAR 이나 TEXT 일때 필드 뿐만 아니라 테이블의 Collation 속성 또한 utf8_general_ci 으로 맞춥니다.
▼ 이제 C# 에서 접속해 데이터를 보낼 때 연결 문자열에 CharSet = utf8 을 추가합니다.
|
1
2
|
String strConn = "Server=localhost;Database=*****;" + "Uid=*****;Pwd=*****;CharSet=utf8;"; |
▼ 보내는 곳과 받는 쪽이 같은 인코드를 사용해야 한글이 깨지지 않겠죠. 소스에서 아래 처럼 INSERT 문을 날려 보았습니다. 정상적으로 셋팅이 되었다면 “김삿갓” 이 깨지지 않겠죠.
|
1
2
3
|
conn.Open();String sql = "INSERT INTO members (id, pwd, name) " + "VALUES ('gon', '111', '김삿갓')"; |
▼ MySQL DB 에 들어가서 보니 깨지지 않고 제대로 들어가 있네요. 이렇게 해서 한글이 깨질 때 처리 하는 방법에 대해 알아 보았습니다.