2014-06-08 6 views
1

PHP CURL을 사용하여 페이지를 가져 왔습니다. 나는 페이지에 데이터를 게시 및 I 출력 응답이이 같은 문자의 무리를 얻을 때 :인코딩 문제 및 PHP

‹˙˙”MkÂ@E÷ţŠ 

을 나는이 인코딩 문제 깨닫는다.

내가 UTF-8의 출력이 다른하지만 ​​여전히 읽을 수 php.ini 파일에에 디폴트 캐릭터 세트를 설정 한 후 :

�����Mk�@E 

나는 페이지로 이동하여 수동으로 브라우저에서 미세 형태로 페이지가 표시 제출, 하지만 PHP를 출력하여 CURL을 사용하여 게시 및 출력 응답을 만들면 읽을 수 없습니다. 이 문제는 어떻게 해결합니까? 인코딩을 설정하는 방법 및 위치는 어디입니까?

답변

0

어디서나 UTF8을 사용하고 있는지 확인하십시오!

PHP ** 헤더() ** 당신은 UTF-8 iconv()

를 사용하여 사용자의 입력 인코딩을 변환 할 수 있습니다

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

<?php header("Content-type: text/html; charset=utf-8"); ?> 

html meta 태그

예 :

$data = iconv("Windows-1252","UTF-8",$data); 

내가 CE 문자를 사용하고 mb_detect_encoding()

+0

이미 utf-8이 지정된 메타 태그가있는 전체 페이지를 수신하더라도 헤더를 설정하고 메타 태그를 추가했습니다. 효과가 없습니다. 여전히 읽을 수 없습니다. mb_detect_encoding()은 UTF-8을 반환합니다. –

+1

해결했습니다! 요청 헤더에 "Accept-Encoding : utf-8"을 추가 했으므로 이제 응답을 읽을 수 있습니다. 운이 저에게 감사드립니다. –

+0

토니 rmc, 나는 그것을 사용하고 그것은 내 인생 덕분에 저장 :) :) – Atef

1

를 사용하여 수신 당신은 텍스트의 인코딩을 찾을 수 있습니다 나는 전에 매우 비슷한 문제가 있었다 : 그냥 가지고 도움이되지 않았다 내 모든 페이지 UTF-8 어디서나 페이지로 인코딩을 사용하지만 php, js, css 등 모든 파일이 실제로 utf-8로 물리적으로 인코딩되었는지도 확인해야합니다. 난 그냥 인코딩으로 이동 ++ 큰 메모장을 사용하고이를 위해

-> UTF-8

메모장 ++ 때때로 당신은 UTF-8에서 파일을 저장 한 것을 알고 그것을위한 것입니다 생각하지 않습니다로 변환 ANSI 예제 : 당신이 그것을 알아 채지 못하고 문제가 다시 반복 될 수있는 것처럼 저장하면,이 멋진 작은 트릭을 배웠습니다 : utf-8로 변환하기 "를 메모장에서 + + 사용하면됩니다. 파일 (내가 PHP를 예를 보여 있도록 PHP는이를 사용하고 있습니다) :

<?php //Útf-8 ľščťžýáíéúäôň 
# YOUR SCRIPT HERE 
?> 

항상 UTF-8 인코딩 된 파일로 인식됩니다 이런 식으로 (나는에서했다이없이 (UTF-8로 인코딩 된 웹 페이지) 여전히이 이상한 문자 문제가있는 사람들에게 약간의 도움이되기를 바랍니다. (예 : UTF-8로 인코딩 된 파일이 UTF-8로 인코딩 된 경우 문제가 발생합니다.)

+0

이것은 정말 훌륭한 조언입니다. 나는 때때로이 기술을 사용할 가능성이 높습니다. 고맙습니다. –

+0

문제 없음 - 내가 이런 종류의 문제에 너무 어려움을 겪고있어서 기꺼이 도울 수있어서 기뻐요. 그래서 당신이 어떻게 느껴지는 지 잘 압니다 (시간이지나면서 파일은 utf-8로 인식되지 않습니다) – errerr