このペイパル IPN に問題があります。私は見ました、多くの人が持っていました。
ユーザーとして支払いを試みます: Árvíztűrő Tükörfúrógép この名前には、ハンガリー語の ABC にあるすべての特殊文字があります。
私はハンガリーの PHP 開発者です。
わかりました、私はグーグルでたくさん検索しようとしました。最初にペイパルの言語設定を確認しました: http://jlchereau.blogspot.hu/2006/10/paypal-ipn-with-utf8.html
すべての設定は UTF-8 です。
Paypal が私の通知 URL を呼び出したとき、私 (以前の開発者) はリクエスト URL を作成しました。この URL をログに記録したところ、文字セットが UTF-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";
}
}
そして、ここに興味深いことがあります。完全に不正な形式のユーザー名が返されます。だから私はそれを文字ごとにダンプします。
最初の名前は次のようになります: CHARS: 193, 114, 118, 237, 122, 116, 26, 114, 26
吸う。私は本当の utf-8 名を取得するためにあらゆることを試みました。mb_detect_encoding は UTF-8 です。
iconv、mb_convert_encoding、utf8_encode、およびdecodeを使用しようとしました。失敗。名前を urlencode しないようにしましたが、再び成功しませんでした。
なぜそうなのか、どうすれば本当のutf8名を取り戻すことができますか?
私が送った URL: cmd=_notify-validate&mc_gross=10.00&protection_eligibility=Eligible&address_status=confirmed&payer_id=JA3YMCJFKSCNJ&tax=0.00&address_street=1+Main+St&payment_date=07%3A41%3A40+Sep+05%2C+2012+PDT&payment_status=Completed* & char utf-8*&address_zip=95131&first_name=%C1rv%EDzt%1Ar%1A&mc_fee=0.59&address_country_code=US&address_name=%C1rv%EDzt%1Ar%1A+T%FCk%F6rf%FAr%F3g%E9p¬ify_version=3.6&custom=lolka_bolka%3Bfalse%3B%3B %3B%3BHungary%3B%3B%3B%3B%3B%3B&payer_status=verified&business=vaso_1346830963_biz%40mydomain.hu&address_country=United+States&address_city=San+Jose&quantity=1&verify_sign=AVVJjJNeVwHbYcMDVfj2N1DqWwUdAtNQIpb9KIP99gZ2PY-LPoOYzSCc&payer_email=test_1346830232_per%40mydomain.hu&txn_id=4J747779YW528551F&payment_type=instant&last_name=T %FCk%F6rf%FAr%F3g%E9p&address_state=CA&receiver_email=vaso_1346830963_biz%40mydomain.hu&payment_fee=0.59&receiver_id=TGEHBCMG336WE&txn_type=web_accept&item_name=510+Silk&mc_currency=USD&item_number=&residence_country=US&test_ipn=1&handling_amount=0.00&transaction_subject=lolka_bolka%3Bfalse%3B%3B%3B%3Bハンガリー%3B%3B%3B%3B%3B%3B&payment_gross=10.00&shipping=0.00&ipn_track_id=6fe12a7a34b74