重音字符不显示在Javascript变量中

时间:2014-04-08 09:40:03

标签: javascript encoding utf-8 non-ascii-characters

我在使用重音(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

0 个答案:

没有答案