我在使用重音(UTF8)字符作为Javascript变量时出现问题。该页面在META标记中声明为UTF-8,以及PHP标头。 Javascript代码(在页面加载后显示)如下(为简洁而截断):
Globals.shippingValues = $H({
address1: "25 Abbejet K�gerreveszak",
address2: "",
city: "Z�bev�r Abej�rn",
state: "KY",
zip: "51150"
});
值实际上是通过PHP传递的变量:
Globals.shippingValues = \$H({
address1: "{$data['address1']}",
address2: "{$data['address2']}",
city: "{$data['city']}",
state: "{$data['state']}",
zip: "{$data['zip']}"
});
这些$ data字符在网站上以HTML格式正确显示,但在Javascript中,它们作为未知字符出现。这会阻止整个地址进入数据库,因为值会在第一个未知之后被截断。
显然,我可以更改提交表单的方法并避开此问题,但我更愿意知道如何解决此问题。
PHP:5.3.20-pl0-gentoo 服务器:NGNIX Javascript:Prototype 1.7