개발 Q&A

제목 언어셋 문제 인것 같은데 임시방편으로 해결할수 있는 방법이 있을까요?
글쓴이 정수리 작성시각 2016/10/13 13:50:34
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 13119   RSS

회사 내부에서 사용하는 서버에 설치된 mysql의 언어셋의 경우 euc-kr입니다. 

내부서버에는 기존의 인트라넷이 운용되고 있기에 mysql에 인트라넷의 데이터들이 있죠 

그데이터들을 콘솔로 확인해보니 한글 데이터의 경우  다 깨져있는 상태로(데이터의 언어셋과 mysql 언어셋이 안맞아서 그런것 같습니다.) 저장되어있습니다. 

제가 만들고있는 웹사이트의 경우도 언어셋이 utf-8입니다. 그렇다 보니 한글 데이터 들의 경우 

mysql에서 확인하면 다 깨져있습니다. 

데이터를 저장하거나 출력하는데 까지는 문제 없었습니다. 

그런데 문제는 검색 기능을 구현할때 입니다. 

like %xx% 이부분에서 계속 에러가 발생해버리더라구요... 

Illegal mix of collations (euckr_korean_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'like' 

에러 문구는 저 문구 입니다... 

어제도 jquery ui를 이용한 자동완성 기능을 구현할려다  이와같은 문제로 몇시간 동안 알아보고 어떻게 막 맞추다 보니 해결이 되었더라구요 해결 방법 단순히 아무 변환없이  쿼리문에  바로 변수를 대입해주니 해결 되더라구요 

그래서 이번에도 그렇게 해보았지만 안되더라구요 ... 

url에 검색단어를 넣어서 보내는 것인데 인코딩해서 넘겨서 디코드 해서 넣어도 안되더라구요.. 

해결방법은 mysql 언어셋과 제가만드는 언어셋을 일치시키는 것인데 

mysql의 경우 제사이트말고도 기존의 사이트들의 데이터가 있기에 변경도 힘들고 제가 권한이 없구요 

제가 만드는 사이트의 경우 utf-8로 만들라고 하셔서 그걸로 만들고 있습니다... 

혹시 임시방편으로 제가 말한 문제를 해결할수 있는 방법이 있을까요??

 다음글 줌인 하는 소스...질문입니다... (3)
 이전글 검색 버튼을 누르면 리로드가 되는 현상 (2)

댓글

한대승(불의회상) / 2016/10/13 15:46:47 / 추천 0
ㅎㅎㅎ 화이팅 입니다. ^^
뫄뫄잉뿌 / 2016/10/13 15:52:25 / 추천 0
화이팅...ㅎㅎ 언어셋 오류는 할수록 잘잡는듯... 하루이틀걸리더라도 시도해보세요. 구글에 치면 예시 많이 나와있습니다.
정수리 / 2016/10/13 16:13:16 / 추천 0

@한대승,뫄뫄잉뿌

ㅎㅎㅎ..감사합니다...

몇시간동안 계속 검색도 해보고 코드도 바꿔봐도 안되서 올린건데 참...

도움을 받을수 있는 곳이 없네요 하...

답변이라도 감사합니다.

 

정수리 / 2016/10/14 08:04:44 / 추천 0

해결하였습니다ㅎㅎ

쿼리이전에 set names를 사용하여 해결하였습니다.

이미 해결되었던 것이였는데 카테고리 설정 잘못으로 계속 안되는줄 알았네요 ㅜㅜ