0

我正在网上浏览答案,但找不到答案。我有一个 HTML 表单(方法 = GET)并在文本字段中提交文本 helloΩ(你好,附加希腊字母 Omega)

浏览器中的 URL 将其编码为:

mytext=hello%26%23937%3B

没有附加希腊字母 Omega,我得到(如预期的那样):

mytext=hello

那么希腊欧米茄字母百分比如何编码为:

%26%23937%3B

谢谢

4

1 回答 1

1

当您的 Web 服务器声明不支持该字符的编码时,就会发生这种情况。例如,ISO-8859-1不支持它,这是许多 Web 服务器的默认编码。

那是一个html实体字符引用百分比编码:Ω,因为#&..都是ASCII字符,这是唯一不丢失信息的方法,因为浏览器认为服务器只支持ISO-8859-1。

要解决此问题,UTF-8请在您的 http 标头中声明:

Content-Type: text/html; charset=utf-8

这甚至不是浏览器之间的一致行为,因为 IE 将其编码为hello%D9CP1252 Ú/ISO-8859-1 中的。

于 2012-12-17T11:40:48.897 回答