개발 Q&A

제목 문자셋 관련한 질문입니다.
글쓴이 An녕 작성시각 2016/09/20 15:42:33
댓글 : 9 추천 : 0 스크랩 : 0 조회수 : 13189   RSS

클라이언트(PHP)에서 서버(Mysql)에 insert시 

서버가 euckr 이라 iconv("utf-8","euc-kr")로 변환해서 넣고있었는데

이제 지원하지않는 한글 꺠,뷁,궭 이런 글자가 나오면 iconv() : detected an illegal chara... 등  이런 오류가 나와서 

insert가 안되고있습니다. 저런문자를 지우거나 ?? 처리를 하려고 //IGNORE 옵션등 써봤는데 안되네요 

어떻게 서버디비를 안건들고 할수있는방법이 있을까요??

 다음글 php 질문입니다. (5)
 이전글 node js schedul 사용하여 ci contro... (3)

댓글

한대승(불의회상) / 2016/09/20 15:52:32 / 추천 0
iconv 앞에 @를 붙여 보세요. 경고는 발생 하겠지만 보이지는 않을겁니다.
An녕 / 2016/09/20 15:59:42 / 추천 0
답변 감사합니다.  경고메시지는 보이지 않지만 오류는 오류라 문자가 저장되지 않네요...
배강민 / 2016/09/20 16:56:23 / 추천 0
EUC-KR//TRANSLIT 이건 없으면 비스무레한거 박는거긴한데 이도 완전친 못하긴하죠
An녕 / 2016/09/20 17:16:30 / 추천 0
답변 감사합니다. //TRANSLIT도 똑같이 오류가 나서 ㅎㅎ 옵션을 다 해봤지만 의미가 없네요 ㅠㅠ
한대승(불의회상) / 2016/09/20 17:53:48 / 추천 0

db에 insert 할 때 에러가 나는건가요? 아니면 변환 할 때 에러가 난건가요?

빈경윤 / 2016/09/21 08:54:26 / 추천 0

뷁 등은 완성형 한글 범위로 iconv 의 euc-kr 인코딩에선 지원하지 않습니다.

euc-kr 대신 cp949 로 변경해보시면 어떨까요?

$string = "가,꺠,뷁,궭,샾";

var_dump(iconv("utf-8", "cp949", $string));
var_dump(iconv("utf-8", "euc-kr", $string));

 

 

 

 

An녕 / 2016/09/21 09:36:00 / 추천 0

답변 감사합니다.

@한대승 변환할때 에러가되서 insert가 안되면서 변환안하고 insert 하자니 서버가 euckr이라 문자가 깨집니다 ㅠㅠ

@빈경윤 서버가 euc-kr 그렇게 변환후 insert해도 문제가 되서 어떻게 방법이 없을까해서 ㅠㅠ 아니면 걸러내는 방법을 알아보기도 했었는데 그것들도 뭔가해결될만한게 없더라고요

뫄뫄잉뿌 / 2016/09/21 13:13:53 / 추천 0

혹시

mysql_query('set names euckr');

이 문장 선언 후에도 그런가요?

An녕 / 2016/09/21 13:46:10 / 추천 0

답변감사합니다.

그게 서버디비는 업체라서 저희쪽에 관리자권한 아이디를 주지 않아서 할수가없었어요..