繁体   English   中英

未声明 HTML 文档的字符编码

[英]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">

我在最基本的情况下遇到了同样的问题,我的问题是通过将这个标签插入到文档的头部来解决的:

<meta charset="utf-8">

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

更多关于它 在这里这里

我在 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM