[英]The character encoding of the HTML document was not declared
当我单击表单的提交按钮时,出现以下错误消息:
未声明 HTML 文档的字符编码。 如果文档包含来自 US-ASCII 范围之外的字符,则文档将在某些浏览器配置中呈现为乱码。 页面的字符编码必须在文档或传输协议中声明。
插入.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>
插入.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">
我在 Firefox 中运行表单应用程序时遇到了同样的问题。 在 html 代码中添加<meta charset="utf-8"/>
解决了我在 Firefox 中的问题。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Voice clip upload</title> <script src="voiceclip.js"></script> </head> <body> <h2>Upload Voice Clip</h2> <form id="upload_form" enctype="multipart/form-data" method="post"> <input type="file" name="file1" id="file1" onchange="uploadFile()"><br> <progress id="progressBar" value="0" max="100" style="width:300px;"></progress> </form> </body> </html>
好吧,当您发布时,浏览器只输出$title
- 您所有的 HTML 标签和文档类型都会消失。 您需要在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 更改为 .php。
并添加以下行
header('Content-Type: text/html; charset=utf-8');
您的初始页面是一个完整的 HTML 页面,其中包含一个表单,当单击提交按钮时,表单的内容将发布到 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>';
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.