6

我有一个看起来像这样的表格:

<form action="/assesment/savelist/" method="post">
    <input type="hidden" name="owner" value="<?php echo $userid ?>" />
    <input type="text" name="title" value="Question List Title" />
    <textarea name="description"></textarea>
    <input type="submit" />
</form>

在描述中,人们必须能够使用该£字符(以及其他不允许的字符)。

在将它们发布到我的 PHP 页面之前,是否有将这些字符转换为允许的内容?


大家好,感谢您迄今为止的评论。

如果我在我的“保存问题”上执行 print_r($_POST),它会输出从该表单发送给它的 postdata。

但是,如果任何字段中有 £,则不会发送该特定字符。例如,如果我要从该表单中发布“sdfsdfs £ adasd”,那么将发送的所有内容都是“sdfsdfs adasd”

问题是如何将 £ 转换为可以从 HTML 表单作为发布数据发送的内容。

4

3 回答 3

14

WIN!

The solution is to add accept-charset="utf-8" to the form tag.

I didnt have the option to add this to the header of the page but adding it to the form tag solved all my issues. Big shout out to @deceze for posting a link to this website http://kunststube.net/frontback/

于 2012-08-09T16:00:29.623 回答
3

当通过标准表单提交机制提交数据时,浏览器会自动对数据进行编码。

PHP 将在填充时自动解码数据$_POST/GET/REQUEST

在那个阶段你不需要做任何事情。

在将数据插入数据库/某些 HTML/电子邮件/URI/其他数据格式之前,您可能需要对其进行编码,但这取决于您对数据的处理方式。

于 2012-08-09T15:45:08.447 回答
0

当通过标准表单提交机制提交数据时,浏览器将“自动”“编码”<>数据。

于 2017-01-24T08:36:11.220 回答