【问题标题】:Encode HTML Form POST Data编码 HTML 表单 POST 数据
【发布时间】:2011-07-26 16:07:26
【问题描述】:

对从 HTML 表单发布到 PHP 脚本的文本进行编码的最佳方法是什么,这样特殊字符,即“#'@ 等无论如何都不会被修改。我的想法是在表单提交时使用 JavaScript 对数据进行 uuencode 和然后base64_decode()用PHP转义,或者用js转义文本然后urldecode()用PHP转义,还是有别的办法?

【问题讨论】:

  • 你为什么要这样做?
  • 因为我看到表单数据中的某些特殊字符被转义了,例如“it's”显示为“it/'s”。
  • 您在哪里看到它们?为什么不直接用 PHP 解码它们呢?
  • 正是我需要解码“他们”,但我不知道有多少特殊字符被转义,这就是为什么我想在发布之前对所有数据进行编码。无论哪种方式,我都找到了令我满意的解决方法。感谢 cmets。

标签: php html forms post encode


【解决方案1】:

您可以通过设置适当的代码页(如 UTF-8)轻松做到这一点:

<form action="/cgi-bin/script.php" method="post" accept-charset="UTF-8">
<!-- Form elements go here -->
</form>

由于兼容性,我总是会先尝试在没有客户端脚本的情况下做事。

【讨论】:

  • 这无济于事,当我在 php 中处理发布的文本时,'仍然转义为 \',但如果我先对 txt 进行 uuencode 然后解码,我会正确看到 '。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-29
  • 1970-01-01
  • 2013-04-16
  • 2021-12-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多