简单的HTML表单和PHP抛出错误

时间:2012-12-25 13:01:33

标签: php encoding

我只是通过HTML表单调用一个简单的PHP脚本。

每次都会抛出错误:“未声明HTML文档的字符编码。如果文档包含US-ASCII范围之外的字符,则文档将在某些浏览器配置中使用乱码文本呈现。必须在文档或传输协议“

中声明页面的编码

我已经在PHP和HTML中定义了UTF-8编码(请参考下面的代码)。尽管在网上搜索,我仍然无法解决这个问题。

HTML code:

<head>
    <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
    <meta content="UTF-8" http-equiv="encoding"/>
    <title>Test</title>
</head>

<body>
    <div align="center">
    <form action= "google1.php" method="get" accept-charset="UTF-8" >
             Enter Your Name:
            <INPUT TYPE = "text" NAME = "student"> <BR>
            <!--input name="q" type="text"-->
            <br/ > 
            <input name="btnG" type="submit"  value ="test">
        </form>
    </div>
</body>

PHP代码

header("Content-type: text/html; charset=UTF-8");
print "<pre>";
print_r($_GET);
print "</pre>";

提交按钮后的结果(以及错误)是:

“; print_r($ _ GET); print”“;?&gt;

我正在使用XAMPP。我尝试编辑 .htaccess (添加:AddType'text / html; charset = UTF-8'html),如某些互联网解决方案中的建议,但这也无济于事。

我找到了一个网站,其中有一个简单的表单再次调用PHP脚本。 http://www.tjhsst.edu/~dhyatt/superap/form1.html。当我尝试在表单中提交值时,我得到相同的错误。

所以我想,这可能是一个浏览器问题,我将浏览器的默认编码更改为UTF-8。但这也没有帮助。

我是网络编程的新手并且正在努力学习。感谢任何人可以提供帮助。

谢谢, Ashutosh说

2 个答案:

答案 0 :(得分:3)

看起来您在打开/关闭代码时遇到了一些问题。

确保您的<?php中包含?>process1.php3的php代码(有些详细信息:http://php.net/manual/en/language.basic-syntax.phpmode.php) 像这里:

<?php
   header("Content-type: text/html; charset=UTF-8");
   print "<pre>";
   print_r($_GET);
   print "</pre>";
?>

<强> UPD:

经过长时间的问答后,OP终于出现了使用file://协议打开带有表单的文件。与file:///C:/xampp/htdocs/example/form.html类似,表单已提交给file:///C:/xampp/htdocs/example/google1.php?...由于apache仅适用于HTTP协议,因此实际上并未执行PHP。

答案 1 :(得分:0)

您的密码:
<meta http-equiv="Content-type" content="text/html; charset=UTF-8">

正确代码:
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />

你忘记在元标记的末尾添加斜杠。您尚未关闭元标记 虽然,它并不是非常关键,因为你已经尝试了一切。试试这个吧。它可能适合你。