FirefoxJavaScript转义错误

FirefoxJavaScript转义错误,javascript,character-encoding,escaping,Javascript,Character Encoding,Escaping,我的页面上有一个表单,在提交时运行javascript函数。此函数使用window.openuri打开一个新窗口 因为这是一种德语形式,所以有umlauts和其他字符,如ß,ä,ö,ü 因此,我将使用escapeinput.value将输入的值传递给我的uri变量 在Chrome中,这一点非常好,传递的url如下所示 index.php?PLZ=&Ort=Ha%DFloch 但当我在Firefox中打开站点时,它看起来是这样的: index.php?PLZ=&Ort=Ha�lo

我的页面上有一个表单,在提交时运行javascript函数。此函数使用window.openuri打开一个新窗口

因为这是一种德语形式,所以有umlauts和其他字符,如ß,ä,ö,ü

因此,我将使用escapeinput.value将输入的值传递给我的uri变量

在Chrome中,这一点非常好,传递的url如下所示

index.php?PLZ=&Ort=Ha%DFloch
但当我在Firefox中打开站点时,它看起来是这样的:

index.php?PLZ=&Ort=Ha�loch
那么,如何在两种浏览器中都获得正确的结果呢


我尝试了从encodeURI到encodeURIcomponent等几乎所有的方法。

使用表单将字符编码设置为UTF-8:

<form accept-charset="utf-8">
并把它也放在头上:

<head>
 <meta charset="utf-8">
</head>

可能字符在FF和Chrome中的编码不同,因为它们将它们视为来自不同的字符集。您是否明确地在标记中设置了页面字符集?而且,据我所知,escape不赞成使用encodeURI和encodeURIcomponent。请注意,encodeURI忽略url的常见字符,如:或/,因此您应该使用url的未编码开头http://example.com/index.php,然后使用encodeURIcomponent对其余部分进行编码。是我的网站,我有麻烦。请键入Haßloch,单击Suchen时查看错误!我已经设置了{charset}等等,但是您可以在源代码中看到它。有一个函数haendlersuche,其中输入值通过GET来搜索数据库。另外:在Chrome中,该查询在无需搜索的情况下工作,但Firefox会自动将其编码为:Ha%C3%9Floch Eh。。。不久前我自己就已经解决了这个问题,但我必须说,我还无法编写代码,在Opera和FF中以相同的方式对其进行编码,我正在测试它。然而我仍然注意到你的代码中有一个问题。您将编码设置为ISO-8859-1,但您将文件保存为UTF-8,您可以在十六进制编辑器中轻松看到它-öffnen中的ö字符有两个字节,这发生在UTF-8中,而不是拉丁语1中。