아는 분이 서버를 해킹당해서 CentOS 를 재설치해 드렸습니다.
그런데 이전 서버가 워낙 오래된 것이라 mysql 버전이 3.23.58 버전이었고, 새로 설치된 CentOS5 의 mysql 버전은 5.0.x 최신버전이라서 마이그레이션이 필요하게 되었습니다.
그런데 mysql 3.23.58 에서 덤프시켜 놓은 데이터가 같은 테이블 안에서도 utf8 및 euc-kr 이 마구 섞여 있는 고로, 어느 인코딩을 사용하던지 암튼 통일시켜서 바꿔놓긴 해야겠는데 파일이 너무 커서 엄두가 나질 않는군요.
구글을 이리저리 찾아보니 iconv_open() 이랑 관련 함수를 사용하여 라인 단위로 처리하면 될것 같긴 합니다만..
각 라인마다 utf8 인지 euc-kr 인지 어떻게 구분해야 될까요?
덤프 받은 데이터 파일은 텍스트로 되어있고, 파일 크기가 2백메가 바이트에 대충 백만 라인 정도 됩니다.
간단하게 euc-kr의 시작 hex와 utf8의 시작 hex의 range가 틀린것을 이용해서 일일이 컨버팅하는 프로그램을 짜야할 듯 합니다.
좀 노가다 일이 되겠지만요.....
iconv_open()보다는 일일이 글자단위로 컨버팅하는 프로그램이 필요할 듯 하네요.
완성형 to utf8로요.
2백메가 바이트라도 프로그램만 잘짜면 큰 문제는 없을 듯 합니다.
제가 컨버전 프로그램이 있나 찾아보겠습니다. 오래된 자료라 어디있는지
찾을려면 좀 시간이 걸리겟네요....--;