确定 PayPal IPN 使用哪种编码?

Posted

技术标签:

【中文标题】确定 PayPal IPN 使用哪种编码?【英文标题】:Identify which encoding PayPal IPN uses? 【发布时间】:2012-01-26 09:48:58 【问题描述】:

我在使用 PayPal IPN 时遇到了一些问题。文档使用 ASCII 编码。我正在使用 UTF-8。它工作正常,但作为最罕见的情况,我得到一些随机字符。据我所知,Paypal 帐户可以设置为不同的编码。有什么方法可以识别吗?

或者是否有处理所有情况的标准方法。

【问题讨论】:

【参考方案1】:

您可以通过个人资料 > 我的销售工具 > PayPal 按钮语言编码 > 更多选项设置 IPN 的编码。 (direct link)

IPN 消息本身也包含一个“字符集”字段,您可以对其进行检查。另见https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_admin_IPNIntro#id091F0M006Y4

【讨论】:

确实我同意这一点,但是如果我的 IPN 听众不知道该编码怎么办? IPN 消息本身也包含一个“字符集”字段,您可以对其进行检查。另见:cms.paypal.com/us/cgi-bin/… 感谢罗伯特的帮助。我只是想知道它是否会覆盖配置文件上的设置,这是一个好习惯 为什么 PayPal 不会默认使用 UTF-8 编码。有些工程师只想看着世界燃烧。 @Mahn PayPal 的 IPN 系统可以追溯到 1990 年代,当时 Web 开发人员还没有广泛了解国际化的知识——他们不能冒险破坏数十万个网站。 FWIW,PayPal 有一组新的 Web-API(例如他们的新 Webhook API),从长远来看它们将取代 IPN。【参考方案2】:

我认为这是解决方案的一部分。

指定我们发送到贝宝的表单中使用的编码方法

<INPUT TYPE="hidden" name="charset" value="utf-8">

这个link更有帮助

【讨论】:

设置此项对 IPN 编码没有影响。见下文(@Robert 的回答)。

以上是关于确定 PayPal IPN 使用哪种编码?的主要内容,如果未能解决你的问题,请参考以下文章

Paypal 中某些 IPN 消息的无效响应

Paypal IPN状态 - 排队

PayPal IPN - 排队

从 PayPal 的沙盒 IPN 获得无效响应

Paypal 在 Wicket 应用程序中的 IPN

Paypal IPN 通过 GET 而不是 POST 发送数据,即使 rm 值为 2