没有声明HTML文档的字符编码

当我点击我的表单的提交button时出现以下错误信息:

“HTML文档的字符编码没有被声明,如果文档包含US-ASCII范围以外的字符,文档将在一些浏览器configuration中以乱码显示,页面的字符编码必须在文档中声明,或者在传输协议中“。

insert.html:

<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>insert page</title></head> <body> <h1> Insert Page </h1> <form action="insert.php" method="post" enctype="application/x-www-form-urlencoded" > <p>Title:<input type="text" name="title" size="40"/></p> <p>Price:<input type= "text" name="price" size="40" /></p> <p><input type="submit" value="Insert" /> <input type="reset" value="Reset" /></p> </form> </body> </html> 

insert.php:

 <?php $title = $_POST["title"]; $price = $_POST["price"]; echo $title; ?> 

我不知道我的代码中的问题在哪里。 请帮帮我。

将此添加为HTML模板的HEAD部分中的第一行

 <meta content="text/html;charset=utf-8" http-equiv="Content-Type"> <meta content="utf-8" http-equiv="encoding"> 

我的最基本的情况也有同样的问题,我的问题是通过在头部插入这个元素来解决的:

 <meta charset="UTF-8"> 

没有声明html文档的字符编码(实际上是UTF-8)

那么当你发布,浏览器只输出$title – 所有的HTML标签和doctype消失。 你需要包含在你的insert.php文件中:

 <!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>insert page</title></head> <body> <?php $title = $_POST["title"]; $price = $_POST["price"]; echo $title; ?> </body> </html> 

您的初始页面是一个完整的HTML页面,其中包含一个表单,当点击提交button时,其内容被发布到insert.php,但是insert.php需要处理表单的内容并对其进行处理,比如将其添加到数据库,或将它们输出到新页面。 你当前的insert.php只是输出标题字段的内容,所以你的浏览器试图把它解释为一个HTML页面,很明显,因为它不是有效的HTML(即它不包含在“HTML”中)标签等)。

你的insert.php需要输出必要的HTML,并将表单数据插入到某处。

例如:

 <?php $title = $_POST["title"]; $price = $_POST["price"]; echo '<html xmlns="http://www.w3.org/1999/xhtml">'; echo '<head>'; echo '<meta http-equiv="content-type" content="text/html; charset=utf-8" />'; echo '<title>'; echo $title; echo '</title>'; echo '</head>'; echo '<body>'; echo 'Hello, world.'; echo '</body>'; ?> 

您必须将文件从.html更改为.php。

并添加以下行

 header('Content-Type: text/html; charset=utf-8');