JavaScript 转义在 WebHost 上不起作用
javascript escape not working on webhost
我对在Apache上运行的javascript有点陌生,但我有以下问题。
我使用 escape 使字符串"Café"准备好在 javascript 的 url 中使用。
"&place=" + escape(placename);
字符串被翻译成"Caf%E9",然后在下一页(即 php 页面)中表示为"Café"。
一切都很好,但是,当我将代码上传到我的虚拟主机时,它被转换为"Caf%C3%A9"。并在页面中显示为"Café"。
我使用 UTF-8 进行解码。我的虚拟主机使用iconv.input_encoding ISO-8859-1。
我认为问题就在这里。解决此问题的最佳方法是什么?将我的 UTF-8 更改为 ISO-8859-1 还是有一些转换器功能?
编辑我有 UTF8 元标记
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
我也尝试使用编码URIComponent,但它给出了相同的结果
"&place=" + encodeURIComponent(placename);
编辑:添加的代码
这是代码,它在本地的行为与在网络上的行为不同。该代码使用 Google Maps API。
var lat = place.geometry.location.lat();
var lng = place.geometry.location.lng();
var placename = place.name;
var placerating = place.rating;
if (placerating == undefined) {
placerating = 0;
}
var placeaddress = place.vicinity;
var website = place.website;
var url = place.url;
var day = new Date();
var m = day.getMonth() + 1;
var d = day.getDate();
var y = day.getFullYear();
var formUrl = "myform.php?d=" + d + "&m=" + m + "&y=" + y + "&lat=" + lat + "&lng=" + lng + "&place=" + encodeURIComponent(placename);
请注意,当我发出警报(地名)时,它会在两种环境中给我相同的结果。 即,"咖啡厅"
溶液
我的虚拟主机使用了另一种编码,强制页面使用 ISO-8859-1。即使我使用了 html 元标记。
将以下 PHP 标头添加到页面开头
header("Content-type: text/html; charset=utf-8");
TIA,科恩
escape
不是用来转义查询字符串参数的,这就是encodeURIComponent
的用途。 escape
做一些类似但不同的事情,因此它与等式的服务器一半不是 100% 兼容的。
但是,另外,您不能使用一种编码对文本进行编码,而使用不同的编码在另一端成功解码文本。您应该能够通过 apache 标头将页面放入 UTF-8 而不是 ISO-8859-1 中。如果你不能在标题中做到这一点,你可以在HTML中做到这一点:在head
的顶部:
<meta charset="UTF-8">
。然后,当然,确保文件确实是用 UTF-8 编码的(例如,检查您的编辑器设置等)。
StackOverflow上的另一个答案也可能很有用,它讨论了与URI相关的编码。
解决方案
我的虚拟主机使用了另一种编码,强制页面使用 ISO-8859-1。即使我使用了 html 元标记。
将以下 PHP 标头添加到页面开头
header("Content-type: text/html; charset=utf-8");
或者,我要求我的虚拟主机将编码更改为 UTF-8,他们照做了。
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 监视函数从服务返回不起作用,但作用域函数起作用
- 幻灯片滚动javascript不起作用
- 简单的javascript在Shopify中不起作用
- Recaptcha在IE7和IE8中不起作用
- Ember Data DS.Model's set函数不起作用
- JsFiddle上的鼠标事件不起作用
- 我的AngularJS表达式没有'不起作用
- 点击按钮输入不起作用
- 面向对象的Javascript代码在IE7中不起作用
- 分部隐藏在jquery中不起作用
- 在phonegap应用程序内部重定向不起作用
- Array.length似乎不起作用;console.log则显示其他情况
- $ionicplatform内的$scope不;不起作用
- 我的javascript for循环不起作用
- Meteor-添加用户自定义字段的方法不起作用
- 为什么 .focus() 不起作用,而 .css(“color”,“red”) 在同一个选择器上起作用
- Textarea必需的attribut在javascript中不起作用
- 为什么javascript:void(0)在Firefox中不起作用
- JavaScript 转义在 WebHost 上不起作用