当前位置: 首页 > 知识库问答 >
问题:

form POST中的双UTF-8编码

吴凯
2023-03-14

我正在尝试提交一个包含UTF-8字符的表单。

<form id="workflowPersistForm" class="invisibleClass" accept-charset="UTF-8" enctype="application/x-www-form-urlencoded; charset=UTF-8" method="post" action="/workflow-next">
  <input id="stateGlobal" type="hidden" value="お問い合わせ" name="state"/>
</form>

问题是,在查询日志中,日语字符是乱码的,从响应来看,它们似乎是双重编码的(UTF-8)。

如果我使用GET而不是POST,一切都会正常。谁能帮帮我吗?这在哪里得到双重编码?我该怎么修?

共有1个答案

龙毅
2023-03-14

据我所知,实际上无法对UTF-8进行“双重编码”(与十六进制和Base64等二进制编码不同),如果应用相同的操作两次,则不会发生任何事情(意味着输入将与一次保持不变)

你到底得到了什么?你是如何处理输入的?

 类似资料:
  • 我正在处理一个使用UTF-8编码了两次的遗留文件。例如,编码点()本应编码为,但改为编码为(是的UTF-8编码,是的UTF-8编码)。 假设数据在CP-1252中编码,则执行第二次编码。 为了回到UTF-8编码,我使用了以下(似乎错误)命令 我的问题是iconv似乎无法转换回一些字符。更准确地说,iconv无法转换UTF-8表示形式包含映射到CP-1252中控制字符的字符。一个例子是代码点ρ():

  • 问题内容: 在对CSV文件进行编码的假设下运行了以前的文件。在此导入过程中,将多字节字符解释为两个单个字符,然后再次使用utf-8进行编码。 这种双重编码会产生类似的异常,而不是。 如何更正这些字符串? 问题答案: 下面的MySQL函数在双重编码后将返回正确的utf8字符串: 它可以与语句一起使用以更正字段:

  • 问题内容: 我想从请求中获取参数(带有重音符的字符),但是它不起作用。我尝试使用,但也没有用。 我知道返回正确的字符,但不起作用! 有人有主意吗? 问题答案: Paul的建议似乎是最好的做法,但如果要解决此问题,则根本不需要URLEncoder或URLDecoder: 更新: 由于获得了很多选票,我想强调BalusC的观点,即这绝对不是解决方案。充其量是一种解决方法。人们不应该这样做。 我不知道是

  • 问题内容: 我正在用python做一些脚本。我创建一个保存在文件中的字符串。这个字符串有很多数据,来自目录的树状结构和文件名。根据convmv的介绍,我所有的树状结构都是UTF-8。 我想将所有内容都保留在UTF-8中,因为之后我将其保存在MySQL中。现在,在UTF-8的MySQL中,我遇到了一些字符问题(例如é或è-我是法语)。 我希望python始终将字符串用作UTF-8。我在互联网上阅读了

  • 我的web应用程序存在编码问题。在Begging会议上,我认为问题在于数据库编码,但后来我排除了Servlet的bug。如下所示:JSP页面包含一个表单,用户在其中传递一个具有波兰字符的单词,例如“Poniedziałek”,然后我对接收此参数并将其传递给变量的servlet进行除错。变量中的结果为“PoniedziaÅek”。 我的JSP文件中的编码设置为UTF-8 我还尝试使用servlet设

  • 本章是由 Alex Cabal 最初撰写在 PHP Best Practices 中的,我们使用它作为进行建议的基础。 这不是在开玩笑。请小心、仔细并且前后一致地处理它。 目前,PHP 仍未在底层实现对 Unicode 的支持。虽然有很多途径可以确保 UTF-8 字符串能够被正确地处理,但这并不是很简单的事情,通常需要对 Web 应用进行全方面的检查,从 HTML 到 SQL 再到 PHP。我们将