मुझे इस पेपैल आईपीएन के साथ कोई समस्या है। मैंने देखा, बहुत से लोगों के पास था। Árvíztűrő Tükörfúrógép इस नाम में, वहाँ सभी विशेष वर्ण, क्या हंगेरी एबीसी में हैं:पेपैल आईपीएन ओवरराइड वर्णसेट
मैं एक उपयोगकर्ता के रूप में भुगतान करने के लिए प्रयास करें।
मैं एक हंगेरी PHP डेवलपर हूं।
ठीक है, मैंने Google पर बहुत कुछ खोजने की कोशिश की। पहली बात पेपैल भाषा सेटिंग्स की जांच करना था: http://jlchereau.blogspot.hu/2006/10/paypal-ipn-with-utf8.html
प्रत्येक सेटिंग्स यूटीएफ -8 हैं।
जब पेपैल ने मेरा यूआरएल अधिसूचित किया, तो मैंने (पिछला डेवलपर) अनुरोध यूआरएल बनाया। जब मैंने इस यूआरएल को लॉग किया, मैंने देखा, वर्णसेट यूटीएफ -8 नहीं था, इसलिए मैं स्क्रिप्ट को इसका उपयोग करने के लिए मजबूर करता हूं।
$req = 'cmd=_notify-validate';
foreach ($_POST as $key => $value) {
if ($key == 'charset') {
$req .= "&charset=utf-8";
} else {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}
}
और यहाँ intresting बात है। मैं एक पूरी तरह से mallformed उपयोगकर्ता नाम वापस मिलता है। तो मैं इसे char द्वारा चार डंप करता हूं।
पहला नाम हो जाएगा: CHARS: 193, 114, 118, 237, 122, 116, 26, 114, 26
चूसो। मैंने अपना असली यूटीएफ -8 नाम प्राप्त करने के लिए सबकुछ करने की कोशिश की है mb_detect_encoding इसके लिए यूटीएफ -8 है।
मैंने iconv, mb_convert_encoding, utf8_encode और decode का उपयोग करने का प्रयास किया। कोई सफलता नहीं। नाम urlencode नहीं करने का प्रयास किया, फिर से कोई सफलता नहीं।
क्या कोई मुझे बता सकता है, यह क्यों है, और मैं असली utf8 नाम कैसे वापस प्राप्त कर सकता हूं?
यूआरएल मैं क्या भेजा: cmd = _notify-मान्य & mc_gross = 10.00 & protection_eligibility = पात्र & address_status = पुष्टि की & payer_id = JA3YMCJFKSCNJ & कर = 0.00 & address_street = 1 + मुख्य + सेंट & PAYMENT_DATE = 07% 3A41 % 3A40 + सितम्बर +05% 2C + 2012 + पीडीटी & payment_status = पूरे * & charset = utf-8 * & address_zip = 95131 & first_name =% C1rv% EDzt% 1Ar% 1 ए & mc_fee = 0.59 & address_country_code = अमेरिका & पता_नाम =% सी 1 आरवी% ईडीजीटी% 1 एआर% 1 ए + टी% एफसीके% एफ 6 आरएफ% एफएआर% एफ 3 जी% ई 9पी & नोटिफाइवर्स = 3.6 & कस्टम = लोल्का_बोल्का% 3 बाफल्स% 3 बी% 3 बी% 3 बी% 3 बीएचंगरी% 3 बी% 3 बी% 3 बी% 3 बी% 3 बी% 3 बी & payer_status = सत्यापित & व्यापार = vaso_1346830963_biz% 40mydomain.hu & address_country = यूनाइटेड स्टेट्स + & address_city = सैन जोस + & मात्रा = 1 & verify_sign = AVVJjJNeVwHbYcMDVfj2N1DqWwUdAtNQIpb9KIP99gZ2PY-LPoOYzSCc & payer_email = test_1346830232_per% 40mydomain.hu & txn_id = 4J747779YW528551F & payment_type = तत्काल & अंतिम_नाम = टी% एफसीके% F6rf% FAR% F3g% E9p & पता_स्टेट = सीए & receiver_email = vaso_1346830963_biz% 40mydomain। हू & payment_fee = 0।59 & receiver_id = TGEHBCMG336WE & txn_type = web_accept & ITEM_NAME = 510 + सिल्क & mc_currency = अमरीकी डालर & ITEM_NUMBER = & residence_country = अमेरिका & test_ipn = 1 & handling_amount = 0.00 & transaction_subject = lolka_bolka% 3Bfalse% 3 बी% 3 बी% 3 बी% 3BHungary% 3 बी % 3 बी% 3 बी% 3 बी% 3 बी% 3 बी & payment_gross = 10.00 & शिपिंग = 0.00 & ipn_track_id = 6fe12a7a34b74
क्या आपके पेपैल प्रोफाइल में यूटीएफ -8 सक्षम है? देखें http://shwup.blogspot.sg/2009/05/paypal-ipn-issues-with-unicode.html –
@jack: यह मेरी पहली बात यह थी: "ठीक है, मैं गूगल पर का एक बहुत खोज करने के लिए करने की कोशिश की पहली बात पेपैल भाषा सेटिंग्स की जांच करना था: http://jlchereau.blogspot.hu/2006/10/paypal-ipn-with-utf8.html " – vaso123
ठीक है, अब, जब मैं अपना यूआरएल जांचता हूं, एहसास हुआ, मैं एक बुरा पहला नाम भेजा: first_name =% C1rv% EDzt% 1Ar% 1A जहां theő वही हैं,% 1A। तो अब मैं चार नाम से urlencode char करने की कोशिश करूंगा। – vaso123