서버관리 삽질 기록
MySQL의 인코딩 문제
ForceCore
2007. 1. 19. 10:01
서버A에서는 euckr로 저장된 데이터를
서버B에서는 UTF-8기반으로 저장하려고 한다.
서버A에서 euckr파일로 덤프를 받은뒤
iconv를 이용해 utf-8로 변환하고 임포트 하는 방법을 써보았으나
사람 이름...
b5_김영조
b5_김영수
이 것이 인간인 나에게는 unique하고 중복되지 않는 항목이지만
임포트 명령을 내리니까
b5_김영??가 중복된다고 하면서 안 되는 것이었다 -_-
실제로 DB에 접속해서 내용물을 보니까 각 사람의 이름 마지막 글자가 사라진 상태로 DB에 인서트 되어있었다 -_-;;
일단은 euckr의 덤프를 그대로 (!) 서버에 삽입했다.
그 때는 성공하더군...
데이터가 깨져 보이는게 문제가 발생... ㄱ-;;
그럼 왜 사람 이름의 마지막 글자가 ??가 된 것인가?
사람 이름을 수용하는 varchar(10)이 불충분했기 때문이다 -ㅠ-;;;
varchar(10)이라고 하면 10글자가 아니라 5글자가 담기게 되는 것 같다.
varchar(20)이라고 하여 수정.
주제와 맞지 않는 것이지만 MySQL 문법도 조금씩 바뀌어서 애먹었다.
가령... table안에 table이라는 칼럼명은 넣지 못 한다든지....;