1

주제: mysql3에서 mysql5로 업그레이드 후 한글 깨짐

제목 그대로 mysql3에서 mysql5로 업그레이드 후 한글이 깨집니다.
서버에 여러개의 테터가 깔려 있으며 버전도 1.0 버전부터 텍스트 큐브까지 다양합니다.
덤프 파일을 보니 한글은 다 깨져 있는것이 강제로 utf-8 형태로 넣어진듯 합니다.

하위 버전에서는 find . -name '*.php' -exec perl -pi -e 's/SET CHARACTER SET utf8/SET CHARACTER SET euckr/gs' {} \;
상위 버전에서는 콤퍼넌트의 Needlworks.DBMS.MySQL.php 에 if(!$handle) return false;
if (DBQuery::query('SET CHARACTER SET utf8')) 를 주석 처리했습니다만
한잔로 깨지던것이 ㅁ자로 깨지더군요

버전에 따른 대응 방안을 알려주시면 감사하겠습니다.

2

답글: mysql3에서 mysql5로 업그레이드 후 한글 깨짐

원래 텍스트큐브는 utf-8 디비를 사용합니다
mysql3 버전대에서 euckr 디비를 사용하셨을텐데
mysql3 버전대의 텍스트큐브 디비로 가보시면 자료가 utf-8로 저장되어서 깨져 있는 것을 확인가능합니다
그러나 텍스트큐브에서는 글자 안깨지고 utf-8로 잘 불러들이죠..
그런데 mysql5버전대에서부터(4였던가?;) euckr이나 utf-8이나 디비마다 별도로 사용할수 있게 되었습니다
그러므로 캐릭터셋을 euckr로 만들 필요는 없는거 같네요
일단 디비에 들어가서 디비복원이 깨지지 않고 정상적으로 되었는지 확인해보시고 안깨졌다면
불러들일때 utf8로 변환해서 불러오게끔 하시는게 좋을꺼같아요
만일 깨졌다면 다시 복구하셔야될텐데 상당히 골치아플것으로 예상이 되네요;;

3

답글: mysql3에서 mysql5로 업그레이드 후 한글 깨짐

덤프 파일이 있으시면, 에디터에서 덤프 파일을 열고, 여기서 UTF-8으로 인코딩을 지정하셔서 저장하고, 이 덤프 파일로 복구하시는 방법을 써보세요.
저도 이렇게 해결봤었습니다. wink

잠수...