以表单形式使用时,accept-charset="UTF-8" 参数不会执行任何操作

2023-11-27

我在表单中使用accept-charset =“utf-8”属性,发现当使用非ascii进行表单发布时,标头在请求标头中具有不同的接受字符集选项。我有什么遗漏的吗?我的表格看起来像这样

<form method="post" action="controller" accept-charset="UTF-8">
..input text box
.. submit button
</form>

提前致谢


正如所问的,这个问题是自相矛盾的:标题说accept-charset参数不执行任何操作,而问题正文表示当accept-charset使用属性(这是正确的术语),“标头在请求标头中具有不同的接受字符集选项”。我认为后一个陈述中缺少否定。

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

The accept-charset属性在一个form预计元素不会影响 HTTP 请求标头,事实也确实如此。它的目的是指定请求中表单数据使用的字符编码,这就是它实际的作用。这HTML 4.01 规范晦涩难懂关于这一点,但是W3C HTML5 草案提出好多了,尽管由于某些奇怪的原因使用复数:“给出用于提交的字符编码”。我想原因是您可以指定备用编码,以应对浏览器无法使用您首选编码的情况。例如,在 Chrome 中实际发生的情况是,如果您使用accept-charset="foobar utt-8",然后使用UTF-8。

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以表单形式使用时,accept-charset="UTF-8" 参数不会执行任何操作 的相关文章

随机推荐

  • gcc 链接共享库与符号链接

    我有两个库 例如两个烤面包机库libtoaster a so and libtoaster b so以及所有相关的主要 次要 修订符号链接 例如libtoaster a so 1 0 0等等 这两个库都实现了相同的烤面包机接口 但只是进行了
  • 使用 R,循环数据帧,并为循环中创建的对象分配适当的名称

    这是数据分析师一直在做的事情 特别是在处理缺少响应的调查数据时 通常首先对一组完整的数据矩阵进行乘法插补 将模型拟合到每个矩阵 然后组合结果 目前我正在手工做事并寻找更优雅的解决方案 想象一下有 5 个 csv工作目录中的文件 名为dat1
  • 如何运行 Github 存储库?

    我是一个编码新手 所以这可能是一个愚蠢的问题 我正在做一个 SQL 项目来学习该语言 我想知道是否有办法下载并执行 Github 存储库 我以前没有使用过 Github 谢谢 如果你是新手 我认为你应该学习如何使用git 您可以参考以下链接
  • 詹金斯没有声纳​​运行选项?

    我正在寻找在我们的詹金斯服务器上安装 sonarQube 我能找到的文档告诉我在中配置声纳运行器 Jenkins gt manage Jenkins gt Configure system 但是那里没有 声纳跑步者 选项 有一个 声纳 选项
  • 从AWS lambda@edge访问原始URL

    我正在尝试使用 AWS Cloudfront 上的 lambda edge 实现多个网站的 代理 我的设置大致是 DNS domain com gt some uuid cloudfront net Cloudfront 分发 Cloudf
  • VIM 折叠头中的语法高亮显示

    有没有办法让 VIM 继续对用作折叠标题的行应用格式 例如 我有以下代码 int foo int a int b int c 折叠后 我看到 4 lines int foo int a int b 但是 根据 Folded 类 整行都会突出
  • MySQL - 我们可以按列位置而不是名称排序吗?

    我在谷歌上查看过但找不到它 我们可以在 MySQL 中使用字段的位置进行排序吗 假设我有字段ID FirstName LastName Age但我想按字段 4 排序 我可以这样做吗ORDER BY FieldPos4按年龄订购 我还没有找到
  • 在 C# 字符串/字符编码中,GetBytes()、GetString() 和 Convert() 之间有什么区别?

    我们在将 Unicode 字符串转换为 UTF 8 字符串以通过网络发送时遇到问题 Start with our unicode string string unicode Convert u10A0 Get an array of byt
  • DataGridView 滚动事件(和 ScrollEventType.EndScroll)

    交接时DataGridView Scroll事件 您可以检查是否是滚动结束 当用鼠标拖动滚动条时 这大概是在释放鼠标按钮时 问题是这似乎永远不会发生 e Type从来没有ScrollEventType EndScroll 这有什么问题吗 如
  • 如何避免 DOM 解析添加 html doctype、 和 标签? [复制]

    这个问题在这里已经有答案了
  • Python 相当于 R c() 函数,用于数据帧列索引?

    我想使用列索引从 pandas 数据帧中选择特定的列 特别是 我想通过生成的列索引来选择列索引c 12 26 69 85 96 99 134 928 933 935 940 967 我想知道如何在 Python 中做到这一点 我在想类似下面
  • 在 Python 中拒绝负数作为异常

    我正在尝试运行一个接受数字的基本提示 然后对其运行递归函数 任何负数都会导致递归错误 因为函数无法处理它们 现在 我通过 Python 了解到 像这样的情况需要 尝试 例外 模型 这是我想出的 try choice int input En
  • C# 发布 .exe 并使用 cmd 向其发送参数

    我很确定这是基本的 但我只是没有成功做到这一点 我正在尝试创建一个控制台应用程序 它可以通过获取几个参数来执行 ABC 首先 我尝试运行这样简单的东西 static void Main string args foreach var s i
  • PostgreSQL 中的聚合 hstore 列

    我有一个这样的表 Table public statistics id integer not null default nextval statistics id seq regclass goals hstore items id go
  • Flutter创建命令失败错误

    我正在创建一个新的flutter项目于Android studio 我给项目命名并选择Flutter应用 然后我点击完成 然后什么也没发生 Android 工作室是这么说的 Flutter create command was unsucc
  • Spring ApplicationListener 在 webapp 上被触发两次

    我有一个应用程序监听器 它应该在每次 web 应用程序启动时只执行一次 因为它加载基本的用户信息数据 public class DefaultUsersDataLoader implements ApplicationListener
  • while循环,如何从文本文件的第二行读取

    在过去的 2 个小时里 我已经尝试了一切方法来使其正常工作 但我在 shell 和编程方面的经验有限 我有一个循环 while IFS read var1 var2 var3 var4 var5 do statements here don
  • numpy 数组有多少内存? RAM 是限制因素吗?

    我使用 numpy 创建一个边长为 100 的立方体数组 因此总共包含 100 万个条目 对于这百万个条目中的每一个 我插入一个 100x100 矩阵 其条目由随机生成的数字组成 我正在使用以下代码来执行此操作 import random
  • 类似的 Try 块在 scala 中尝试/finally 块

    scala 的类似方式是什么Try to timer start try doThis finally timer cancel 鉴于 a 内的异常Try只需创建一个Failure值 与使用时将控制转移到外部 catch 块相反 try 你
  • 以表单形式使用时,accept-charset="UTF-8" 参数不会执行任何操作

    我在表单中使用accept charset utf 8 属性 发现当使用非ascii进行表单发布时 标头在请求标头中具有不同的接受字符集选项 我有什么遗漏的吗 我的表格看起来像这样