没有声明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');