paypal express checkout - 付款页中的问号

问题描述:

我刚写完我的PHP脚本,用于我的HEBREW网站(数据库编码是latin_swedish_ci,浏览器编码windows-1255,使用记事本++编码的ANSI文件)的快速结帐。paypal express checkout - 付款页中的问号

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

没有函数utf8_encode:

not utf8_encode

与函数utf8_encode:

with utf8_encode

任何想法?

+1

神圣莫利。你也许应该标准化你使用的字符集。优选unicode/utf-8。 – Amelia

你可以尝试以下方法:

  • <meta charset="utf-8">你的网页的HTML <head>内。
  • 设置utf-8在您的PayPal帐户。

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

+0

但是,如果我将编码设置为utf8而我的数据库使用拉丁会帮助吗? – Daniel

,关键是要设置UTF-8您的帐户内,由援引步骤

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

或者,您可以在您的setExpressCheckout API有效载荷增加LocaleCode = he_IL,改变结帐页面语言希伯来语以及

尝试设置你的数据库里面的UTF-8字符:

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

还使用您的记事本++设置文件字符为UTF-8 enter image description here

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

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

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

请记住,你的数据库编码为UTF-8。在发送给PayPal之前,您仍然需要utf8_解码您的文本。