Notice
잡담소장소
어제 삽질한 CP949와 EUC-KR 본문
메일을 읽다가 월요일에 놓쳤던 메일이 있다는 걸 발견하고 읽어보니
서포트 페이지에서 대화명 변경 시 묭묭이라고 입력하면 서포트에는 보이나 DB에는 뱪뱪이 (대충적음) 로 들어가는 바람에 게임클라이언트에서 이상하게 나온다는 내용.
아 이거 해결한다고 한 30분 혼자 삽질하다가 도저히 안되겠어서 헬프요청.
별별 방법을 다 써봤으나 모두 수포..
겨우 하나 만들었던 일일히 바꿔주는 함수는 기밀태씨가 보내준 코드 한줄로 단박에 해결!!
나랑 울팀분들이 몇시간 낑낑댄거 한 30분만에 풀어줌..ㅠㅠ
$nick = iconv("UTF-8", "CP949", html_entity_decode(iconv("CP949", "UTF-8", $_POST[nick]), -1, "UTF-8"));
iconv함수로 들어가있는 cp949형식을 utf-8코드로 바꿔주고
html_entity_decode로 전체문자열을(condition -1) UTF-8로 바꿔준 후에
다시 iconv로 UTF-8을 CP949로 바꿔주면 DB에 제대로 들어간다.
프로그래머 생활에서 정말 도움이 되는 울 기밀태씽 ㅠㅠ 고마웡~
어찌되었건 여기서 중요한건
EUC-KR의 한글셋은 별로 없다는거.
다들 EUC-KR을 쓰고있다고 하지만 실제 사용하는건 CP949.
비슷하게 다른부분에서 에러가 발생.
거기는 page submit이 아닌 jQuery의 .get 함수로 넘긴다.
jQuery에서는 데이터를 무조건 UTF-8로 넘기기 때문에 decode만 잘하면 된다.
하지만 넘어온 데이터를 EUC-KR로 decode했던 것이 에러.
CP949로 바꿔주니 잘 나온다.
하아. 하나 배웠다...
iconv함수로 들어가있는 cp949형식을 utf-8코드로 바꿔주고
html_entity_decode로 전체문자열을(condition -1) UTF-8로 바꿔준 후에
다시 iconv로 UTF-8을 CP949로 바꿔주면 DB에 제대로 들어간다.
프로그래머 생활에서 정말 도움이 되는 울 기밀태씽 ㅠㅠ 고마웡~
어찌되었건 여기서 중요한건
EUC-KR의 한글셋은 별로 없다는거.
다들 EUC-KR을 쓰고있다고 하지만 실제 사용하는건 CP949.
비슷하게 다른부분에서 에러가 발생.
거기는 page submit이 아닌 jQuery의 .get 함수로 넘긴다.
jQuery에서는 데이터를 무조건 UTF-8로 넘기기 때문에 decode만 잘하면 된다.
하지만 넘어온 데이터를 EUC-KR로 decode했던 것이 에러.
CP949로 바꿔주니 잘 나온다.
하아. 하나 배웠다...
반응형
'Study ;3' 카테고리의 다른 글
javascript의 이런 저런 (0) | 2012.04.17 |
---|---|
IE 7에서의 jQuery (0) | 2012.02.24 |
jQuery 유용한 팁(이라고 생각하는데...) in PHP (0) | 2011.09.21 |
date 함수 in PHP (2) | 2011.08.09 |
IE, Fire Fox와 Chrome (0) | 2010.12.02 |
Comments