-1

PayPal の URL 文字列でアイテム名を渡していますが、文字エンコーディングを持つものに遭遇するとすぐに、paypal への送信時に URL 文字列が壊れます。

たとえば、次のアイテム名を渡しています。

アクティブリスニング - それは

私のpaypal URL文字列は次のように出力されます:

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

ご覧のとおり、 - と ' をカバーしているため、URL 文字列が壊れます。– と ' を手動で削除すると、通常どおりに動作します。

Paypal バックエンドの言語エンコードを UTF-8 に設定し、Paypal 文字列に UTF-8 を渡しています。

私は何を間違っていますか?

4

2 に答える 2

1

を使用してhtml文字を変換することにより、これを修正することができました

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

PayPal に渡す前に、アイテム名を確認してください。

于 2013-09-30T14:56:07.150 に答える
0

おそらく、最初に UTF8 に変換してから urlencode に変換する必要があります。これをやってみてください

<?php
echo rawurlencode(utf8_encode($yourvar));
于 2013-09-30T12:50:00.550 に答える