네이버 블로그의 글을 파싱해서 가져오는 과정에서 문자셋 깨짐이 일어납니다.
처음 파싱을 진행할때는 글자 깨짐없이 내용을 확인했으나 이후 해당 내용을 db에 업로드하기 위해 코드를 작성하던도중 문제가 발생하였고, 아무래도 common파일을 읽어오면 깨지는것으로 생각됩니다.
소스코드는 다음과 같습니다
Copy
<?phpdefine('_INDEX_', true);include_once('./_common.php'); include "snoopy/Snoopy.class.php"; $snoopy = new Snoopy; $snoopy->fetch("http://blog.naver.com/PostList.nhn?blogId=ycj0539&from=postList&categoryNo=8"); //★★ 끌어올 주소 입력 $table = "test"; //★★ 입력할 테이블 이름 입력 preg_match('/<div id="postViewArea">(.*?)<\/div>/is', $snoopy->results, $text); preg_match('/<span class="pcol1 itemSubjectBoldfont">(.*?)<\/span>/is', $snoopy->results, $text2); $cont = $text[0]; $title = $text2[0]; ?>
아래부분을 생략했지만 문제되는 이유와는 관련없는듯 하여 생략하였습니다.
참고로 db, php파일 등 모두 utf-8 문자셋을 사용합니다.
왜 문자가 깨지는지 전혀 모르겠습니다..ㅠ
고수분들의 도움 부탁드립니다!!
|
답변 2개 / 댓글 2개
채택된 답변
+20 포인트
2017-03-14 (화) 15:56:45
네이버 블로그 포스트는 한국어 EUC-KR로 인코딩이 되어 있기 때문에 유니코드 UTF-8로 가져오면 깨집니다.
답변에 대한 댓글 1개
2017-03-14 (화) 16:40:34
$string = "뭐래냐?"
$변수 = iconv("EUC-KR","UTF-8", $string);
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.