我正在浏览网页寻找答案但找不到答案。我有一个HTML表单(method = GET)并在文本字段中提交文本helloΩ(你好附加的希腊字母Omega)
浏览器中的URL将其编码为:
mytext=hello%26%23937%3B
如果没有添加欧米茄的希腊字母,我得到(正如预期的那样):
mytext=hello
那么希腊的欧米茄字母百分比是如何编码的:
%26%23937%3B
由于
答案 0 :(得分:1)
当您的Web服务器声明不支持该字符的编码时,会发生这种情况。例如,ISO-8859-1
不支持它,这是许多Web服务器的默认编码。
这是一个html实体字符引用百分比编码:Ω
,因为#
,&
..都是ASCII字符,这是不丢失信息的唯一方法,因为浏览器认为服务器只支持ISO-8859-1。
要解决此问题,请在http标头中声明UTF-8
:
Content-Type: text/html; charset=utf-8
这在浏览器之间甚至不是一致的行为,因为IE将其编码为hello%D9
,在CP1252 / ISO-8859-1中为Ú
。