Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/04/2007, 10h36   #1
Invité de passage
 
Inscription : janvier 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 25
Points : 3
Points : 3
Par défaut Accents en PHP

Bonjour,

J'ai un petit problème et en parcourant le web je n'ai pas vraiment trouvé de solution :s

J'ai un formulaire contenant des champs textes. Lorsque je valide le formulaire, le contrôle se passe sur "formulaire.php" (dans lesquel je n'ai que du code php).

Dans le code php, je récupère les variables POST de mon formulaire et je les affiche.

Le problème c'est que dés que j'ai un accent dans une de mes variable, j'ai des caractères bizarres à la place lorsque je l'affiche avec un echo et pourtant les accents s'affichent correctement dans mon formulaire (monform.html) (j'ai mis la ligne : <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />)

Par exemple pour é j'ai ce caratère : é

Que je dois faire pour corriger ça ?

merci d'avance !
rekiem71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2007, 10h41   #2
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Est-ce que les deux pages (affichage du formulaire et trraitement du formulaire) ont le meme charset ?
Est-ce que ton meta :
Code :
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
est le premier fils de <head> ?
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2007, 10h44   #3
Invité de passage
 
Inscription : janvier 2007
Messages : 25
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 25
Points : 3
Points : 3
C'est bon j'ai résolu le problème j'avais oublié une balise meta ! merci encore
rekiem71 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2007, 10h55   #4
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Service public

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
comme le dit si bien Mr N. que je salue au passage
il faut que les deux pages fonctionnent dans le même jeu de caractères...

il existe 2 manières de procéder, une est envoyée par les entête HTTP au navigateur, l'autre est incluse dans la source HTML est est donc prise en compte au moment de la lecture du document par le navigateur

Sachant que les entêtes priment sur les métas.

donc pour forcer le jeu de caractères via les entêtes :
Code :
1
2
 
<?php header ('Content-Type: text/html; charset=utf-8'); ?>
pour forcer via la source :
Code :
1
2
 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
sinon au pire, tu peux aussi décoder la valeur des superglobales à la volée :
Code :
1
2
 
<?php $mavar = utf8_decode($mavar); ?>
__________________
http://cdemarche.developpez.com/

Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h32.


 
 
 
 
Partenaires

Hébergement Web