2011-03-23 6 views
1

cURL을 사용하여 원격 HTML 페이지를 가져 오려고합니다. 그러나 반환 된 텍스트를 분석 할 때 ▀Ã과 같은 이상한 문자를 많이 발견하게됩니다. 줄을 따라 어딘가에 텍스트 인코딩이 잘못되었습니다.PHP의 cUrl 함수가 잘못된 문자를 반환합니다.

cURL에서 가져온 텍스트가 올바르게 인코딩되도록하려면 어떻게 인코딩 할 수 있습니까? 인코딩 문제없이 데이터베이스에 결과를 안전하게 저장할 수 있도록 어떻게 정규화 할 수 있습니까?

+0

당신이 검색하는 페이지입니다 UTF-8 또는 Latin1? –

답변

5

CURLOPT_ENCODING을 ""로 설정하고 페이지가 그 횡설수설로 가득 차 있지 않았 으면 좋겠다. 두 번째로 제안 할 수있는 것은 html 엔티티와 같은 일부 항목을 통해 문자열을 실행하여 위생적으로 처리하는 것입니다. 단순히이/게시물 데이터와, 이럴를 얻을 컬, 인코딩 변경되지 않습니다

당신은 페이지의 상단에 다음을 포함 할 필요가
-1

:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

+1

오른쪽, doctype을 변경하면 인코딩 문제를 해결하는 데 도움이되므로 ... -1 –

관련 문제