dthuler
Messages postés121Date d'inscriptiondimanche 9 mars 2003StatutMembreDernière intervention29 avril 2009
-
11 juil. 2007 à 08:57
pysco68
Messages postés681Date d'inscriptionsamedi 26 février 2005StatutMembreDernière intervention21 août 2014
-
22 juil. 2007 à 15:12
Bonjour!
Je cherche à :
Soit enregistrer dans une table mysql sans altération du UTF-8 unicode saisi sous formulaire php ou alors bloquer la saisie unicode et n'authoriser que l'ASCII de base...
Actuellement, j'ai configuré ma page et tables mysql en UTF-8 mais impossible de lire les caractères étendus postés...
Je débute, et avoue faire du "sur-place"... Quelqu'un peut-il m'aider svp?
dthuler
Messages postés121Date d'inscriptiondimanche 9 mars 2003StatutMembreDernière intervention29 avril 2009 11 juil. 2007 à 13:29
C'est pas très clair, c'est vrai...
Cas concret:
Un utilisateur affiche ma page encodée UTF-8 et rempli avec des caractères cyriliques. Il poste le formulaire avec le bouton submit...
Maintenant, j'ouvre la base de donnée via mysql admin et j'ai... des hiéroglyphes à la place des caractères cyriliques :/
Si je demande l'affiche sur une page UTF-8 des données relatives à ce même formulaire, j'ai toujours les mêmes hiéroglyhes, exit les beaux caractères!
Yoteco
Messages postés111Date d'inscriptionlundi 20 octobre 2003StatutMembreDernière intervention 5 novembre 2008 11 juil. 2007 à 14:49
Avant d'insérer dans la base tu peux faire un utf8_encode($le_texte); et ensuite quand tu affiches tu dois spécifier avec la fonction header que tu vas afficher de l'UTF-8. Tu peux aussi le faire avec de l'html dans le head tu met : <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
Ce qui est incompréhensible, c'est que le monde soit compréhensible. (Albert Einstein)
pysco68
Messages postés681Date d'inscriptionsamedi 26 février 2005StatutMembreDernière intervention21 août 20148 22 juil. 2007 à 15:12
Et si ce que Yoteco à dit ne règle pas le problème, ben tu peux utiliser ça:
<hr size="2" width="100%" />while (list($key, $val) = each($_POST)){
$post["$key"] = str_replace("\'", "'", htmlentities($val, ENT_COMPAT, 'UTF-8'));
}
<hr size="2" width="100%" />ou (pour les variables en $_GET):
<hr size="2" width="100%" />while (list($key, $val) = each($_GET)){
$get["$key"] = str_replace("\'", "'", htmlentities($val, ENT_COMPAT, 'UTF-8'));
}
<hr size="2" width="100%" />
par après tu dois utiliser $post['clef'] et/ou $get['clef'] dans ton script pour lire les variables recodées (en plus les problèmes de signes [éèàç&....] sont tous directement règles ^^