如何使用HTML链接在请求头中设置“Content-Type … charset”

如何使用HTML链接在请求头中设置“Content-Type … charset”,第1张

概述我有一个简单的HTML页面与UTF-8编码链接. <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body> <a charset='UTF-8' href='http://server/search?q=%C3%BC'>search f 我有一个简单的HTML页面与UTF-8编码链接.
<HTML>  <head>    <Meta http-equiv="content-type" content="text/HTML; charset=UTF-8">  </head>  <body>    <a charset='UTF-8' href='http://server/search?q=%C3%BC'>search for "ü"</a>  </body></HTML>

但是,我没有让浏览器包含Content-Type:application / x-www-form-urlencoded; charset = utf-8进入请求头.因此,我必须配置Web服务器以假定所有请求都是UTF-8编码的(URIEnCoding =“UTF-8”在Tomcat server.xml中).但是当然管理员不会让我在生产环境(Websphere)中这样做.

我知道使用AJAX很容易实现,但是如何在使用标准HTML链接时控制请求头? charset属性似乎不适用于我(在ie8和FF 3.5中测试)

所需解决方案的第二部分将是使用JavaScript更改iframe的document.location时设置URL编码.

解决方法 这是不可能从HTML上.最接近的是< form>的accept-charset属性.只有MSIE浏览器坚持,但即使这样做也是错误的(例如,CP1252实际上已被用于发送ISO-8859-1).其他浏览器完全忽略它,它们正在使用响应的Content-Type标头中指定的字符集.设置字符编码权利基本上完全是服务器端的责任.客户端应该将其发送回与服务器发送响应相同的字符集.

至此,您应该真正从服务器端配置字符编码的东西.为了克服无法编辑URIEnCoding属性,SO上的某个人写了一个(复杂的)过滤器:Detect the URI encoding automatically in Tomcat.你可能会发现它也很有用(注意:我还没有测试过).

更新:
应该注意的是,当内容通过http传输时,您的问题中给出的元标记将被忽略.相反,http响应Content-Type头将用于确定内容类型和字符编码.您可以在“Net”面板中确定http标头,例如Firebug.

总结

以上是内存溢出为你收集整理的如何使用HTML链接在请求头中设置“Content-Type … charset”全部内容,希望文章能够帮你解决如何使用HTML链接在请求头中设置“Content-Type … charset”所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1102161.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存