2012-04-03 3 views
1

내가 urlencode() 또는 http_build_query()로 URLPHP는 urlencode가 잘못 인코딩합니까?

http://herthabsc.de/index.php?id=3631&tx_ttnews[tt_news]=13144&cHash=9ef2e9ee006fb16188ebf764232a0ba9 

을 인코딩하려고하면 그것이 나에게 결과

http%3A%2F%2Fherthabsc.de%2Findex.php%3Fid%3D3631%26%23038%3Btx_ttnews%5Btt_news%5D%3D13144%26%23038%3BcHash%3D9ef2e9ee006fb16188ebf764232a0ba9 

을 제공하지만 그건 그것이 있어야 게 아니에요. 알려진 버그가 있습니까? 또는 워드 프레스와 함께 사용 중 문제가 있습니까?

+7

당신이 할 무엇을 기대하려고? 그것은 인코딩 된 URL입니다. 해당 URL의 쿼리 문자열 부분 만 인코딩 하시겠습니까? –

+1

이 기능은 매뉴얼에 설명 된대로 작동하지만 사용자의 기대치가 잘못되었습니다. –

+0

실제로 http % 3A // herthabsc.de/index.php % 3Fid % 3D3631 % 26tx_ttnews % 5Btt_news % 5D % 3D13144 % 26cHash % 3D9ef2e9ee006fb16188ebf764232a0ba9 – Jonathan

답변

4

URL을 두 번 인코딩했습니다. 당신의 출력 문자열에 urldecode()을 실행하면 나에게주고 다음 http://herthabsc.de/index.php?id=3631&tx_ttnews[tt_news]=13144&cHash=9ef2e9ee006fb16188ebf764232a0ba9

편집 : 다음

urlencode(html_entity_decode('http://herthabsc.de/index.php?id=3631&tx_ttnews[tt_news]=13144&cHash=9ef2e9ee006fb16188ebf764232a0ba9')); 
+0

예, 아마 포스터가 하나의 앰퍼샌드 문자로 & # 038을 표시하는 브라우저에서 링크를보고 있습니다. – kuba

+0

네 이것이 나에게도 주어집니다. – Jonathan

+0

하지만 단 한 번만 인코딩됩니다. – Jonathan