Javascript变量中不显示重音字符

Javascript变量中不显示重音字符,javascript,encoding,utf-8,non-ascii-characters,Javascript,Encoding,Utf 8,Non Ascii Characters,我在使用重音字符(UTF8)作为Javascript变量时遇到了一个问题。页面在META标记中声明为UTF-8,以及PHP标头。Javascript代码(在页面加载后显示)如下所示(为简洁起见被截断): 这些值实际上是通过PHP传递的变量: Globals.shippingValues = \$H({ address1: "{$data['address1']}", address2: "{$data['address2']}", city

我在使用重音字符(UTF8)作为Javascript变量时遇到了一个问题。页面在META标记中声明为UTF-8,以及PHP标头。Javascript代码(在页面加载后显示)如下所示(为简洁起见被截断):

这些值实际上是通过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

您可能没有将文件保存为UTF8。我的所有文件都保存为UTF-8、PHP文件、PHP模板文件和Javascript。这是我的文本编辑器(Editpad)中的默认编码。如果有帮助,这些字符(所有非ASCII字符)也不会显示在HTML注释中,但在实际HTML中显示得很好。
    Globals.shippingValues = \$H({
        address1: "{$data['address1']}",
        address2: "{$data['address2']}",
        city: "{$data['city']}",
        state: "{$data['state']}",
        zip: "{$data['zip']}"
});