paypal express checkout - 付款页面

时间:2015-10-06 01:36:37

标签: php encoding paypal

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

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

没有utf8_encode:

not utf8_encode

使用utf8_encode:

with utf8_encode

有什么想法吗?

4 个答案:

答案 0 :(得分:3)

关键是通过引用的步骤

在您的帐户中设置UTF-8
  
      
  1. 登录您的PayPal帐户
  2.   
  3. 导航至"我的帐户概述 - >个人资料 - >我的销售工具"部分。   在"更畅销的工具"点击"贝宝按钮语言   编码"链接。
  4.   
  5. 确保设置"您网站的语言"是   正确。
  6.   
  7. 点击"更多选项"按钮,选择" UTF-8"选项   for" Encoding"离开"是"为&#34选择的选项;您想要吗?   对从PayPal发送给您的数据使用相同的编码(例如,   IPN,可下载的日志,电子邮件)?"。
  8.   
  9. 点击"保存"保存更改。
  10.   

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

答案 1 :(得分:1)

您可以尝试以下方法:

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

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

答案 2 :(得分:0)

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

/* change character set to utf8 */ 
if (!$mysqli->set_charset("utf8")) {
printf("Error loading character set utf8: %s\n", $mysqli->error);
}

还可以使用记事本++ enter image description here

将文件字符设置为UTF-8

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

答案 3 :(得分:0)

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

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

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