티스토리 뷰

요새는 거의 대부분의 디폴트 환경이 utf8이라서 원본 캐릭터셋이 utf8이면 아무런 상관이 없다.


그러나..


원본이 euckr이면 얘기가 달라진다.. 스크래핑시 

<meta http-equiv="Content-Type" content="text/html; charset=euc-kr" />

이렇게 원본이 되어 있는 경우가 있다.


이때부터 문제가 발생한다..


우선 웹브라우저에서 php코드에서 찍어보면 한글이 깨진다. 아마 php 설치시 설정도 utf8, ,mysql 도 utf8 등 autoset 디폴트 설치 환경이 utf8로 되어 있어서 그런것 같다.


마찬가지로 카페24에서도 호스팅 설치하면 php,mysql 등 모든 설정이 utf8로 되어 있을 것이다.


일단 header("Content-Type:text/html;charset=euc-kr"); 이렇게 하면 php 코드에서 한글을 찍으면 브라우저에서는 깨졌던 한글이 깨지지는 않는다.


그래서 euckr로 서버 설정들을 바꿔서 mysql 에 insert를 해봤는데 실패..


모든 설정이 설치시 utf8로 맞춰져 있어서 모든것을 euckr로 바꾸기는 벅차보였다.


그래서 그냥 모든 설정을 그대로 utf8로 두고 euckr로 되어 있는 한글을 utf8로 바꾸는게 가장 나아 보였다.


그래서 시도했다.


$title=iconv("CP949", "UTF-8", $title);


이런식으로 php 코드에서 euckr 한글을 utf8로 바꿔서 insert 한 후 mysql 확인해보니 깨졌던 한글이 안깨져 있었다.


항상 한글이 깨지면 당황해서 마음만 급해서 이것저것 많이해본다. 검색하고.. 시도하고.. 빨리해야 하는데 시간만 잡아 먹는다..


요약

<meta http-equiv="Content-Type" content="text/html; charset=euc-kr" /> 이럴경우

php 코드 상단에

header("Content-Type:text/html;charset=euc-kr"); 넣고

한글이 있을때

$title=iconv("CP949", "UTF-8", $title);

하면 된다.



댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함