paypal express checkout - 付款页面中的问号

Posted

技术标签:

【中文标题】paypal express checkout - 付款页面中的问号【英文标题】:paypal express checkout - questions marks in payment page 【发布时间】:2016-01-02 19:19:16 【问题描述】:

我刚刚为我的 HEBREW 网站编写了用于快速结帐的 php 脚本(数据库编码为 latin_swedish_ci,浏览器编码 windows-1255,文件在 ANSI 中使用 notepad++ 编码)。

当我将数据(用希伯来语编写)从数据库传递到贝宝时,我看到的不是文本,而是问号。当我在文本上使用 utf8_encode 时,它​​显示乱码。

没有utf8_encode:

使用 utf8_encode:

有什么想法吗?

【问题讨论】:

圣鼹鼠。您也许应该标准化您使用的字符集。最好是 unicode/utf-8。 【参考方案1】:

关键是通过引用的步骤在您的帐户中设置 UTF-8

    登录您的 PayPal 帐户 导航至“我的帐户概览 -> 个人资料 -> 我的销售工具”部分。 在“更多销售工具”中单击“PayPal 按钮语言 编码”链接。 确保“您网站的语言”设置为 正确的。 点击“更多选项”按钮,选择“UTF-8”选项 为“编码”并为“你想要”选择“是”选项 对从 PayPal 发送给您的数据使用相同的编码(例如, IPN、可下载的日志、电子邮件)?”。 点击“保存”以保存您的更改。

或者,您可以在 setExpressCheckout API 负载中添加 LocaleCode = he_IL,以将结帐页面语言也更改为希伯来语

【讨论】:

【参考方案2】:

您可以尝试以下方法吗:

在您网页的 html <head> 中设置 <meta charset="utf-8">。 在您的贝宝帐户中设置utf-8

登录您的 PayPal 帐户 点击“我的销售偏好 单击语言编码旁边的更新 在下一页上选择西欧语言并点击更多选项 在两个下拉菜单中选择 UTF-8 并点击保存

【讨论】:

但是如果我将编码设置为 utf8 而我的数据库使用拉丁文会有帮助吗?【参考方案3】:

尝试在数据库中设置 utf-8 字符:

/* 将字符集更改为 utf8 */ if (!$mysqli->set_charset("utf8")) printf("Error loading character set utf8: %s\n", $mysqli->error );

还可以使用记事本++将文件字符设置为 UTF-8

想法是将每个包含字符的元素设置为 UTF-8

【讨论】:

【参考方案4】:

您需要自定义 paypal 快速结帐,特别是您的语言环境。要将 PayPal 页面上显示的语言更改为希伯来语,请在 SetExpressCheckout 调用中将 LOCALECODE 参数设置为 he_IL

来源:Customizing Express Checkout(向下滚动到更改区域设置部分)

请记住,您的数据库编码是 UTF-8。在将文本发送到 PayPal 之前,您仍然需要对文本进行 utf8_decode。

【讨论】:

以上是关于paypal express checkout - 付款页面中的问号的主要内容,如果未能解决你的问题,请参考以下文章

PayPal Express Checkout 通行证 transactionID

如何为 PayPal Express Checkout 配置 IPN?

如何访问 Paypal Express Checkout 的响应?

paypal express checkout - 400 错误请求

Paypal Express Checkout / React - 发送产品信息

paypal express checkout set paypal费用另加