Problème d'encodage en base après insert

Eléphant du PHP | 363 Messages

20 sept. 2011, 11:55

Bonjour,

Je ne comprends pas pourquoi quand je fais un insert, tous mes accents deviennent des "YN" en base, ca vient de l'encodage mais je n'ai jamais eu cela auparavant. Quelqu'un connait la parade ?

Amicalement,

Féfé
Dis-donc fossoyeur, t'as une dent contre moi ou quoi ?

ViPHP
ViPHP | 2577 Messages

20 sept. 2011, 11:59

Je recopie le lien de Moogli : faq-tutoriels/encodage-utf-t245062.html

Eléphant du PHP | 363 Messages

20 sept. 2011, 14:36

re bonjour,

J'ai déjà rencontré des problèmes d'encodage mais jamais le cas du YN.

En utilisant : $nom = utf8_decode($_POST["nom"]);

j'obtiens ce que je veux mais après j'ai voulu supprimé l'accent et j'ai beau utilisé strtr, preg_replace ou str_replace, il ne veut rien savoir :(

Une idée ?

Par avance merci de ton aide.
Dis-donc fossoyeur, t'as une dent contre moi ou quoi ?

Eléphant du PHP | 363 Messages

20 sept. 2011, 15:04

CORRIGE !!!

avec ceci :
$mastring = htmlentities($_POST["nom"], ENT_NOQUOTES, 'utf-8');
$mastring = preg_replace('#&([A-za-z])(?:acute|cedil|circ|grave|orn|ring|slash|th|tilde|uml);#', '\1', $mastring);
$mastring = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $mastring); // pour les ligatures e.g. 'œ'
$mastring = preg_replace('#&[^;]+;#', '', $mastring); // supprime les autres caractères
@bientôt :)
Dis-donc fossoyeur, t'as une dent contre moi ou quoi ?