【问题标题】:Why are my ' characters turned into \' when POSTed to my server?为什么我的 ' 字符在 POST 到我的服务器时变成了 \'?
【发布时间】:2012-05-31 16:00:08
【问题描述】:

我的HTML不是很厉害,每次都会遇到一些编码问题。

在这里,我有一个类似的表格:

<head>
    <META http-equiv="Content-Type" Content="text/html; charset=ISO-8859-1">
[...]
<form method="post" action="thispage.php" >
    <input name="title" type="text" id="title" size=75 value="" />          
    <textarea name="description" rows="10" cols="80" id="description"></textarea>
    <input type="submit" value="GO"  />
</form>

当我写一些引用时,例如:',它会以\'的形式出现
所以o'clock 将是o\'clock

你有什么想法吗?

编辑:

根据萤火虫的说法,奇怪的是引号没有在 POST 变量中转义!

【问题讨论】:

  • 这听起来像是服务器端问题,而不是 HTML 问题
  • 与您的问题无关 - 请从您的旧字符编码升级。我们应该在世纪之交逃离 ISO-8859。移至UTF-8

标签: html forms post encoding


【解决方案1】:

您使用的似乎不是最新版本的 PHP,并且已打开 magic quotes

【讨论】:

  • 如果你检查我的编辑,你能确认你的答案吗?如果是这样,我可以检查 phpinfo() 页面的哪一行?
  • 是的。由于魔术引号是 PHP 的一项功能,因此当您询问客户端它正在发送什么时,您不会看到它们(因为客户端没有发送它们)。
  • 不知道它是否在phpinfo() 中。使用get_magic_quotes_gpc() to tell
  • 哇!我有这些他妈的魔术语录!这是一个共享服务器,他们永远不会改变这一点!无论如何,谢谢,伙计。
  • 然后每次你得到魔术引号会触及的输入时,你需要测试魔术引号是否打开(所以当他们升级到不支持的 PHP 版本时你不会被绊倒他们)然后stripslashes 处理数据……或者转移到一个像样的服务器。
猜你喜欢
  • 2015-02-20
  • 2020-01-08
  • 1970-01-01
  • 2021-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-27
  • 2021-05-04
相关资源
最近更新 更多