html – accept-charset =“UTF-8”参数在表单中使用时不会执行任何 *** 作

html – accept-charset =“UTF-8”参数在表单中使用时不会执行任何 *** 作,第1张

概述我在表单中使用accept-charset =“utf-8”属性,发现当使用非ascii进行表单发布时,标头在请求标头中有不同的accept charset选项.有什么我想念的吗?我的表格看起来像这样 <form method="post" action="controller" accept-charset="UTF-8">..input text box.. submit button< 我在表单中使用accept-charset =“utf-8”属性,发现当使用非ascii进行表单发布时,标头在请求标头中有不同的accept charset选项.有什么我想念的吗?我的表格看起来像这样
<form method="post" action="controller" accept-charset="UTF-8">..input text Box.. submit button</form>

提前致谢

解决方法 正如所提出的那样,问题是自相矛盾的:标题表示accept-charset参数没有做任何事情,而问题正文表示当使用accept-charset属性(这是正确的术语)时,“标题在请求标头中有不同的accept charset选项“.我想后一种说法中缺少否定.

浏览器根据自己的原则和设置在http请求标头中发送Accept-Charset参数.例如,我的Chrome发送了Accept-Charset:windows-1252,utf-8; q = 0.7,*; q = 0.3.这样的标头通常被服务器端软件忽略,但是可以使用(并且它被设计用于)来确定在服务器响应中使用哪种编码,以防服务器端软件(表单处理程序)在这种情况下)能够在响应中使用不同的编码.

表单元素中的accept-charset属性不会影响http请求标头,也不会影响http请求标头.它旨在指定要用于请求中的表单数据的字符编码,这就是它实际执行的 *** 作.关于这一点的HTML 4.01 spec is obscure,但W3C HTML5 draft puts it要好得多,尽管由于某些奇怪的原因使用复数:“给出了用于提交的字符编码”.我想原因是您可以指定备用编码,以准备浏览器无法使用您的首选编码的情况.例如,Chrome中实际发生的情况是,如果使用accept-charset =“foobar utt-8”,则使用UTF-8.

实际上,该属性用于使数据提交的编码与包含该表单的页面的编码不同.假设您的页面是ISO-8859-1编码的,并且有人在您的表单中键入希腊语或希伯来语字母.浏览器必须进行一些错误恢复,因为这些字符无法在ISO-8859-1中表示. (实际上,他们将字符转换为数字字符引用,这在逻辑上都是错误的,但实际上可能是最好的.)使用< form charset = utf-8>这里有所帮助:无论编码是什么,表单数据都将以UTF-8编码方式发送,可以处理任何字符.

如果您希望告诉表单处理程序它应该在其响应中使用哪种编码,那么您可以在表单中添加一个隐藏(或非隐藏)字段.

总结

以上是内存溢出为你收集整理的html – accept-charset =“UTF-8”参数在表单中使用时不会执行任何 *** 作全部内容,希望文章能够帮你解决html – accept-charset =“UTF-8”参数在表单中使用时不会执行任何 *** 作所遇到的程序开发问题。

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

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

原文地址:https://54852.com/web/1135554.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存