用 javascript 解码 url 中的重音字母?
to decode accented letters in the url with javascript?
大家好,我有这个表格:
<form action='file:///C:/Users/amministratore/Desktop/google_cse/ricerca.html' method="get" target='_blank' id='cse-search-box'>
<input type='text' name='q' size='35' />
<input type="submit" name="sa" value="Search" />
</form>
e 这个代码 js:
var linkcodificato= self.location.href;
var link= decodeURIComponent(linkcodificato);
我可以解码很多字符(?|!和许多其他字符)但不能解码带重音符号的字母...为什么?
à = %E0
编辑
在我的搜索栏中搜索:
"hello à"
我的url是这样的:
?q=Hello+%E0
问题是%E0
在ANSI
(Windows-1252
)编码中表示á
字符,而在utf-8
中是无效的。
您可以通过确保以下几点来避免这种行为:
您的 html
文件以 utf-8
编码保存。如何做到这一点取决于您的编辑器,但您应该在 "Save As" 或 "Preferences".
中查找字符编码选项
您在 html
文件本身中指定 utf-8
编码,例如将 <meta charset="utf-8">
放在 head
部分。
如果经过以上两步还是不行,可以通过添加属性[=24=强制form
以utf-8
编码提交数据] 到 form
标签。
通过此设置,您会发现 á
字符在 url
中保持原样。然而,location.href
仍将被编码,但如果您执行上述操作,编码现在将具有 %C3%A0
而不是令人讨厌的 %E0
,并且可以很好地转换为 à
当你使用 decodeURIComponent
.
无论何时进行更改,请务必刷新原始页面,然后重新提交表单。
这是您的 html
代码的建议开头(删除 !
之前的 space):
< !DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
通过以上内容,您可以确保您的文档在 utf-8
模式下运行。
大家好,我有这个表格:
<form action='file:///C:/Users/amministratore/Desktop/google_cse/ricerca.html' method="get" target='_blank' id='cse-search-box'>
<input type='text' name='q' size='35' />
<input type="submit" name="sa" value="Search" />
</form>
e 这个代码 js:
var linkcodificato= self.location.href;
var link= decodeURIComponent(linkcodificato);
我可以解码很多字符(?|!和许多其他字符)但不能解码带重音符号的字母...为什么?
à = %E0
编辑
在我的搜索栏中搜索:
"hello à"
我的url是这样的:
?q=Hello+%E0
问题是%E0
在ANSI
(Windows-1252
)编码中表示á
字符,而在utf-8
中是无效的。
您可以通过确保以下几点来避免这种行为:
您的
html
文件以utf-8
编码保存。如何做到这一点取决于您的编辑器,但您应该在 "Save As" 或 "Preferences". 中查找字符编码选项
您在
html
文件本身中指定utf-8
编码,例如将<meta charset="utf-8">
放在head
部分。如果经过以上两步还是不行,可以通过添加属性[=24=强制
form
以utf-8
编码提交数据] 到form
标签。
通过此设置,您会发现 á
字符在 url
中保持原样。然而,location.href
仍将被编码,但如果您执行上述操作,编码现在将具有 %C3%A0
而不是令人讨厌的 %E0
,并且可以很好地转换为 à
当你使用 decodeURIComponent
.
无论何时进行更改,请务必刷新原始页面,然后重新提交表单。
这是您的 html
代码的建议开头(删除 !
之前的 space):
< !DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
通过以上内容,您可以确保您的文档在 utf-8
模式下运行。