php - rango - La codificación de caracteres del documento HTML no fue declarada
problemas de codificacion (5)
Cuando hago clic en el botón Enviar de mi formulario, aparece el siguiente mensaje de error:
"La codificación de caracteres del documento HTML no se declaró. El documento se procesará con texto ilegible en algunas configuraciones del navegador si el documento contiene caracteres de fuera del rango US-ASCII. La codificación de caracteres de la página debe declararse en el documento o en el protocolo de transferencia ".
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;
?>
No sé dónde está el problema en mi código. Por favor, ayúdame.
Agregue esto como una primera línea en la sección HEAD de su plantilla HTML
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<meta content="utf-8" http-equiv="encoding">
Bueno, cuando publicas, el navegador solo muestra $title
, todas tus etiquetas HTML y doctype desaparecen. insert.php
incluir aquellos en su archivo 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>
Su página inicial es una página HTML completa que contiene un formulario, cuyo contenido se publica en insert.php cuando se hace clic en el botón Enviar, pero insert.php necesita procesar los contenidos del formulario y hacer algo con ellos, como agregarlos a un formulario. base de datos, o darles salida a una nueva página. Su insert.php actual solo genera los contenidos del campo de título, por lo que su navegador intenta interpretar eso como una página HTML, y falla, obviamente, porque no es HTML válido (es decir, no está contenido en un ''HTML'' etiqueta, etc.).
Su insert.php necesita generar el HTML necesario e insertar los datos del formulario en algún lugar.
Por ejemplo:
<?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>'';
?>
Tengo el mismo problema con la situación más básica y mi problema se resolvió insertando este meta en la cabeza:
<meta charset="UTF-8">
la codificación de caracteres (que en realidad es UTF-8) del documento html no fue declarada
Tienes que cambiar el archivo de .html a .php.
y agrega esta línea
header(''Content-Type: text/html; charset=utf-8'');