【发布时间】:2010-04-03 11:49:20
【问题描述】:
这个问题可能以前有人问过,不过,我会再问一次。
目前,我遇到了表单编码问题。发布我的表格时,所有空格都替换为“+”字符。我想用一个真实的空格替换这个“+”字符。
有人对此有 PHP 解决方案吗?
提前致谢。
干杯,伦纳特
【问题讨论】:
这个问题可能以前有人问过,不过,我会再问一次。
目前,我遇到了表单编码问题。发布我的表格时,所有空格都替换为“+”字符。我想用一个真实的空格替换这个“+”字符。
有人对此有 PHP 解决方案吗?
提前致谢。
干杯,伦纳特
【问题讨论】:
无法复制
<form>
<input type=text name="a" value="text with spaces">
<input type=submit>
</form>
<?php if (isset($_GET['a'])) echo $_GET['a'] ?>
根本没有空格。我做错了什么?
【讨论】:
如果浏览器行为正确,则不应发生这种情况。我的假设是 javascript 正在弄乱您的数据。编码网址时用加号替换空格,也许这会有所帮助。
您可以使用firebug 来检查是否有任何 js 干扰。
【讨论】:
我正在使用 AJAX(x = 在本例中为 JSON)来处理表单帖子等
那我们看代码吧。
您可能正在尝试手动对您的数据进行格式编码,然后另一个组件也对其进行格式编码。用+ 替换空格是非常标准的,并且对于表单编码来说是预期的,但是如果你不小心做了两次,那么你将在它的末尾留下一个编码的+。
如果您使用 JavaScript escape 函数:不要。 (当您需要对表单值进行 URL 编码以包含在参数中时,正确的方法是 encodeURIComponent。escape 是它自己的果味非标准编码,您几乎不需要使用它。)
【讨论】: