usando rango procedente problemas online marco funciona fue externos documento detectar declarada decarada contiene codificación codificacion charset caracteres archivo php html

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'');