Discussion:
Formulaire et accents
(trop ancien pour répondre)
jpwitz
2011-05-17 13:51:30 UTC
Permalink
Bonjour
Dans mes pages html, créées avec php, les formulaires ne transmettent
pas les caractères accentuées:

Voici mon code html:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="GENERATOR" content="">
</head>

<body>
<form method="POST" action="misajour.php" name="form1"">
<p align="right">Nom :<input type="text" size="40" name="Nom" value=""></p>
</form>
</body>

Lorsque, dans le script misajour.php j'active la fonction phpinfo(),
j'ai, entr'autes, les éléments suivants:
1)si je saisis éléonore dans le formulaire, phpinfo rnvoie [Nom] =>
lonore (les caractères accentués ont disparus!)
2)le paramètre _SERVER["HTTP_ACCEPT_CHARSET"] indique
ISO-8859-1,utf-8;q=0.7,*;q=0.7 (donc bien utf-8)

Quelqu'un aurait une piste de solution à mon problème?

Merci

jp Witz
Olivier Miakinen
2011-05-17 14:16:12 UTC
Permalink
Bonjour,
Post by jpwitz
Dans mes pages html, créées avec php, les formulaires ne transmettent
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Quel est le Content-Type transmis dans les vrais entêtes HTTP, plutôt
que dans ce succédané qu'est le http-equiv ? Pour le forcer :

<?php
header("Content-Type: text/html; charset=utf-8");
?>

(à faire au *tout* début, comme tout entête HTTP)
Post by jpwitz
<meta name="GENERATOR" content="">
</head>
<body>
<form method="POST" action="misajour.php" name="form1"">
<p align="right">Nom :<input type="text" size="40" name="Nom" value=""></p>
</form>
</body>
Lorsque, dans le script misajour.php j'active la fonction phpinfo(),
1)si je saisis éléonore dans le formulaire, phpinfo rnvoie [Nom] =>
lonore (les caractères accentués ont disparu!)
Plutôt que phpinfo(), essaye d'afficher bin2hex($_REQUEST['Nom'])
Post by jpwitz
2)le paramètre _SERVER["HTTP_ACCEPT_CHARSET"] indique
ISO-8859-1,utf-8;q=0.7,*;q=0.7 (donc bien utf-8)
Essaye de virer ISO-8859-1 si tout est en UTF-8.

P.-S. : Si ton adresse ne devient correcte qu'en retirant « -aenlever »
(ou même si elle reste incorrecte dans ce cas), merci de signaler que
cette adresse est invalide en la suffixant par « .invalid » :
jp.witz-***@free.fr.invalid


Cordialement,
--
Olivier Miakinen
jpwitz
2011-05-17 21:13:32 UTC
Permalink
Ça marche avec la fonction

<?php
header("Content-Type: text/html; charset=utf-8");
?>

Encore merci de votre aide
Tr@nquille.news.free.fr,
2011-05-18 22:11:57 UTC
Permalink
Post by jpwitz
Ça marche avec la fonction
<?php
header("Content-Type: text/html; charset=utf-8");
?>
Encore merci de votre aide
ayant accès au .htaccess d'un site, j'y ai mis ceci:
AddDefaultCharset UTF-8
(c'est chez ovh en mutu, peut-être autre syntaxe ailleurs)
et je n'ai aucun problème de charset avec ça...
peut-être à essayer.
--
Ne pars jamais vaincu. (Etat d'esprit)
***@gmail.com
Continuer la lecture sur narkive:
Loading...