안녕하세요 박성원입니다.
오랜만에 질문글을 올리네요 ;;
초큼은 황당하고 이상한 문제가 있어서요 ㅋ
문제사항-------------------------------------->
동일한 환경의 A, B 두대의 Mysql (버전 동일, 케릭터셋 동일함) A가 실제 서비스 DB이며, B는 테스트 DB입니다.
-- 참고사항 :: 문자셋은 중국어권이므로 UTF8을 사용함
A에서 사용중인 DB를 dump와 tar을 이용한 압축 백업을 통해서 B로 데이터를 전이(이동) 하였을경우
DB상에서의 문자들은 깨지지 않고 정상적으로 보입니다.
헌데 클라이언트에서 이문자를 불러올때 '?'문자로 표기되고있습니다 ;;; 과연 이게 무었때문일지 이해가 되지도 않고
해결을위해 머리 싸매어 비명을 질러봤는데 당췌 답이 안나옵니다.
결론
1. 콜레션 불일치
- 혹시해서 콜래션을 확인해본결과 과거의 B의 테이블은 실제 서비스 중인 A의 테이블에 비해서 콜레션 type이 틀리더군요
헌데 콜레션은 실제 문자열에 대한 변형을 주지 않는것으로 판단되어 생략을 했습니다만, 혹시 그로 인한 문제점을 발견하신 분이계신지요?
2. 클라이언트 케릭터셋
- 당초 클라이어트 프로그램에서 문자를 바인딩할때의 캐릭터셋이 잘못되어 이러한 현상을 가지고 오는것으로 판단
위와 같이 결론을 내었는데 ;;
혹시나 다른 부분에서 문제가 발생하거나 상기 내역 중 콜래션 부분에서 해결이 가능한 방법을 아시는분은 리플을 부탁드립니다 ^^;; |