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 错误请求