problème avec caractères accentué

WRInaute occasionnel
Bonjour,

J'ai un petit problème avec les caractères accentués dans des situations particulières.
En effet j'utilise un formulaire pour rentrer mes différents champs.
1 ere situation:
Si je rentre du texte accentué manuellement dans les différents champs que j'oublie de remplir un champ et que je valide. Je renvois au formulaire pour compléter en utilisant l'envois de variable par url et Get pour me souvenir des anciens champs.
Jusque la pas de problème dans les champs déjà remplis , j'ai bien mes accents que ce soit sous ie ou firefox.

2ime situation:
J'écris un texte accentué sous word et je fais un copié collé dans les champs. Si je renvois au formulaire pour compléter. Je n'ai aucun problème avec ie par contre avec Firefox selon le texte écrit voila les modifs que j'ai parfois( de temps en temps les caractères s'écrivent correctement) pour les caractères spéciaux.
é => Ã ©
' = > â € ™
à => Ã
è = > è
ê => Ã ª
ç => Ã §
ù => Ã ¹

Il y a visiblement qqch qui ne plait pas parfois à firefox mais je ne vois pas quoi.
je ne vois pas trop comment remédier à ce problème.

Quelqu'un à une idée ?

Merci
 
WRInaute occasionnel
Je viens de faire quelques expériences en écrivant des caractères sous word et en faisant copié collé.

1) Si j'écris : à è ê ' ç ù é j'obtiens : à è ê ' ç ù é donc pas de problème.

2) Si j'écris : à è ê ' ç ù é ’ j'obtiens: à è ê ' ç ù é ’
donc la dernière apostrophe me met le beans.

3) Si j'écris: à è ê ' ç ù é … j'obtiens: à è ê ' ç ù é …
donc les points de suspensions mettent le bazar aussi.

c'est quoi le problème , qui n'a lieu qu'avec Firefox?
 
WRInaute occasionnel
Bon ben j'ai résolu mon problème avec des str_replace, ce n'est pas très élégant mais au moins il n'y a plus de problèmes....
 
WRInaute passionné
il doit manquer un ligne dans le head avec le charset :
Code:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 
WRInaute occasionnel
webmasterlamogere a dit:
il doit manquer un ligne dans le head avec le charset :
Code:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

Non non cette ligne est bien présente. j'ai beau chercher je ne vois pas trop
 
WRInaute accro
seabird a dit:
J'écris un texte accentué sous word et je fais un copié collé dans les champs. Si je renvois au formulaire pour compléter. Je n'ai aucun problème avec ie par contre avec Firefox selon le texte écrit voila les modifs que j'ai parfois( de temps en temps les caractères s'écrivent correctement) pour les caractères spéciaux.
é => Ã ©
' = > â € ™
à => Ã
è = > è
ê => Ã ª
ç => Ã §
ù => Ã ¹

Il y a visiblement qqch qui ne plait pas parfois à firefox mais je ne vois pas quoi.

Le texte a été transmis en UTF-8, mais un header quelque part dit que c'est de l'ISO-8859-1.

seabird a dit:
1) Si j'écris : à è ê ' ç ù é j'obtiens : à è ê ' ç ù é donc pas de problème.

2) Si j'écris : à è ê ' ç ù é ’ j'obtiens: à è ê ' ç ù é ’
donc la dernière apostrophe me met le beans.

3) Si j'écris: à è ê ' ç ù é … j'obtiens: à è ê ' ç ù é …
donc les points de suspensions mettent le bazar aussi.

Tant que tu n'as que des caractères qui existent en ISO-8859-1 (qui ont un "codepoint" < 256), il continue à te balancer de l'ISO-8859-1. A partir du moment où il y a des caractères qui n'existent pas (qui ont un codepoint >= 256, comme l'apostrophe que Word utilise, ou les points de suspension), il bascule en UTF-8.

Le bon conseil: tout faire en UTF-8 tout le temps (base de données, pages, Content-Type...).

Sinon si tu veux rester en ISO-8859-1 (qui n'a même pas le symbole "€") tu peux essayer en ajoutant dans ton <form> un attribut accept-charset="iso-8859-1" et voir si dans ce cas FF le respecte et fait ce qu'il faut.

Jacques.
 
WRInaute passionné
jcaron a dit:
tu veux rester en ISO-8859-1 (qui n'a même pas le symbole "€")
Un encodage en &euro; est nécessaire effectivement. Mais on peut aussi éventuellement utiliser l'ISO-8859-15, qui lui possède le symbole "€". :wink:
 
WRInaute occasionnel
Oui enfin tu utilises word en même temps...
Quand on code on utilise notepad ou un editeur de texte spécialisé...

Word doit être réglé pour sauvegarder en utf8...
Avec notepad tu peux réger ton encodage en faisant sauver sous

Après avec des éditeurs spécialisé tu peux régler directement pour savoir quel encodage tu choisis ç al création du fichier pour ne pas avoir de problème...
 
WRInaute occasionnel
fra_arf a dit:
Oui enfin tu utilises word en même temps...
Quand on code on utilise notepad ou un editeur de texte spécialisé...

Word doit être réglé pour sauvegarder en utf8...
Avec notepad tu peux réger ton encodage en faisant sauver sous

Après avec des éditeurs spécialisé tu peux régler directement pour savoir quel encodage tu choisis ç al création du fichier pour ne pas avoir de problème...

Non moi je code toujours avec notepad, ce qui me parait normal :).
Le problème est arrivé car j'ai reçu un formulaire dans ma base de donnée posté par un internaute qui contenait ces caractères. Je me suis donc demandé d'où ils venaient. Et en testant , j'ai juste remarqué que cela venait de Word ou d'un autre traitement de texte , je ne sais pas...


Sinon merci des conseils et je vais tout transmettre en UTF-8 pour les formulaires.
 
WRInaute occasionnel
Si tu as iconv d'installer tu peux tjrs faire un petit script qui te permet de convertir avant de sauver le formulaire dans la bdd également :)
 
Discussions similaires
Haut