Ciao a tutti,
devo fare un semplice form in html (via php), ma non riesco ad ottenere il testo scritto nella form in una variabile PHP per problemi di encoding.
Se scrivo nella form "è una prova", $text è valorizzato come "è una prova".
Se non specifico "utf-8" nell'header, "è una prova" viene valorizzato correttamente, ma io ho bisogno che la form accetti anche caratteri giapponesi, arabi etc.
Può essere un problema di configurazione del php.ini? Idee? grazie 1000!
Ecco il codice di una pagina PHP di test:
Codice PHP:
<?php
function echocr($str)
{
echo $str . "\r\n";
}
function main()
{
header("Content-type: text/html; charset=utf-8");
echocr("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");
echocr("<html xmlns=\"http://www.w3.org/1999/xhtml\">");
echocr("<head>");
echocr("<title>test</title>");
echocr("</head>");
echocr("<body>");
$text = $_POST["text"];
echocr("Text: " . htmlentities($text));
echocr("
");
echocr("<form method=\"post\" action=\"" . $PHP_SELF . "\">");
echocr("<input type=\"text\" name=\"text\"></input>");
echocr("<input type=\"submit\" value=\"go\"></input>");
echocr("</form>");
echocr("</body>");
echocr("</html>");
}
main();
?>