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

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

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

没有utf8_encode:

使用 utf8_encode:

有什么想法吗?

【问题讨论】:

  • 圣鼹鼠。您也许应该标准化您使用的字符集。最好是 unicode/utf-8。

标签: php encoding paypal


【解决方案1】:

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

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

或者,您可以在 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。

      【讨论】:

        猜你喜欢
        • 2023-03-25
        • 1970-01-01
        • 2018-08-05
        • 2018-08-25
        • 2010-12-03
        • 2013-07-16
        • 2021-01-20
        • 2017-08-18
        • 2017-09-02
        相关资源
        最近更新 更多