De tekencodering van het HTML-document is niet gedeclareerd

Als ik op de verzendknop van mijn formulier klik, verschijnt de volgende foutmelding:

De tekencodering van het HTML-document is niet gedeclareerd. Het document wordt in sommige browserconfiguraties weergegeven met onleesbare tekst als het document tekens bevat van buiten het US-ASCII-bereik. De tekencodering van de pagina moet worden aangegeven in het document of in het overdrachtsprotocol.

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;
?>

Ik weet niet waar het probleem zit in mijn code. Help me alsjeblieft.


Antwoord 1, autoriteit 100%

Voeg dit toe als eerste regel in het HEAD-gedeelte van uw HTML-sjabloon

<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<meta content="utf-8" http-equiv="encoding">

Antwoord 2, autoriteit 20%

Ik had hetzelfde probleem met de meest basale situatie en mijn probleem werd opgelost door deze tag in de kop van het document in te voegen:

<meta charset="utf-8">

De tekencodering (wat eigenlijk UTF-8) is van het html-document is niet gedeclareerd.

Meer hierover hieren hier.


Antwoord 3, autoriteit 7%

Ik had hetzelfde probleem toen ik mijn formuliertoepassing in Firefox uitvoerde. Het toevoegen van <meta charset="utf-8"/>in de html-code loste mijn probleem in Firefox op.

<!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>

Antwoord 4, autoriteit 6%

Als je een bericht plaatst, voert de browser alleen $titleuit – al je HTML-tags en doctype verdwijnen. U moet deze opnemen in uw insert.php-bestand:

<!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>

Antwoord 5

Je moet het bestand wijzigen van .html naar .php.

en voeg deze volgende regel toe

header('Content-Type: text/html; charset=utf-8');

Antwoord 6

Je eerste pagina is een volledige HTML-pagina met een formulier waarvan de inhoud wordt gepost naar insert.php wanneer op de verzendknop wordt geklikt, maar insert.php moet de inhoud van het formulier verwerken en er iets mee doen, zoals add ze naar een database, of voer ze uit naar een nieuwe pagina. Uw huidige insert.php voert alleen de inhoud van het titelveld uit, dus uw browser probeert dat te interpreteren als een HTML-pagina, en faalt uiteraard, omdat het geen geldige HTML is (dwz het is niet opgenomen in een ‘HTML’ tag, enz.).

Uw insert.php moet de benodigde HTML uitvoeren en de formuliergegevens daar ergens invoegen.

Bijvoorbeeld:

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

Other episodes