cURL을 이용하여 데이터를 가져오는데, 아무리 해도 인코딩 문제 해결이 쉽지 않더군요.

¼­¿iÆ?º°½A ¼­AE±¸ ¾cAcμ¿ 변환 후 DB에 저장해도 이렇게 보이는..

iconv가지고 삽질하다가 mb_convert_encoding을 써봐도 해결이 쉽게 되지 않더군요.

몇 번의 삽질 끝에 다음과 같이 해결했습니다.

<환경>

PHP 스크립트의 인코딩 : UTF-8

MySQL 인코딩 : UTF-8

cURL 요청 헤더 : EUC-KR

cURL 응답 : EUC-KR

 

보통 위의 환경에서 문제가 가장 많이 발생하는데, 아래의 코드로 해결하시면 됩니다.

<코드>

$res = sendCurlPostRequest($url,$fields,$referer,"euc-kr");
$enc = mb_detect_encoding($res); // 해당 문자열의 인코딩 타입을 알아냅니다.
$res = mb_convert_encoding($res, "UTF-8","EUC-KR");

자동차보험,의료,보험,대출,미용,금융,법률,부동산,중고자동차,무료듣기,건강,돈,국민임대아파트

Posted by CodeChef
TAG ,

댓글을 달아 주세요