2013-09-30 1 views
-1

PayPal URL 문자열에 항목 이름을 전달하고 있지만 문자 인코딩이 발생하는 즉시 URL 문자열이 paypal에 제출할 때 깨지게됩니다.Paypal 문자 인코딩으로 인해 URL 문자열이 깨졌습니다.

예를 들어, 나는 다음과 같은 항목의 이름을 전달 해요 :

적극적인 청취가 - 그것은

내 페이팔 URL 문자열은 다음 출력의이 같은 :

https://www.paypal.com/cgi-bin/webscr?item_name_1=Active listening –it’s 

당신이 할 수 그것의 은폐를보십시오 - 그리고 이것은 URL 끈을 끊는 원인이된다. – 및 ’을 수동으로 제거하면 정상적으로 작동합니다.

paypal 백엔드에서 내 언어 인코딩을 UTF-8로 설정했으며 내 페이팔 문자열에 UTF-8을 전달합니다.

내가 뭘 잘못하고 있니?

+0

PayPal 설명서를주의 깊게 읽으십시오 - 서버에 보내는 모든 값을 urlencode해야한다고 말합니다. – Fracsi

+0

고마워요 Fracsi 내가 그걸 시도해 주겠다. – Mark

답변

1

.

+1

이 코드를 이용해 주셔서 감사합니다. – Offboard

+0

안녕하세요. 나는 당신과 비슷한 문제를 겪고 있을지도 모른다. (이 포스트에서 : http://stackoverflow.com/questions/40167842/integrating-paypal-ipn-in-php-not-working). 솔루션으로 언급 한 html_entity_decode 행을 어디서 어떻게 포함 시킬지 물어볼 수 있습니까? – Michel

+0

안녕하세요 @Michel, 꽤 오래 전에 내가 페이팔에 문자열을 보낸 직전에 제가 기억했던 것에서 그것을 포함 시켰습니다. 희망이 도움이됩니다. – Mark

0

아마도 UTF8로 변환 한 다음 urlencode로 변환해야 할 것입니다. 일을 시도 페이팔에 전달하기 전에 항목 이름에

html_entity_decode('string', ENT_COMPAT, 'UTF-8') 

를 사용하여 HTML 문자를 변환하여이 문제를 해결하기 위해 관리되는이

<?php 
echo rawurlencode(utf8_encode($yourvar)); 
+0

doe의 작품은 이제 paypals checkout에서 문자로 인코딩 된 값으로 표시된다. '–'보다는 - – Mark