Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
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 26/04/2011, 12h24   #1
Membre du Club
 
Inscription : mars 2004
Messages : 208
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 208
Points : 63
Points : 63
Par défaut Soucis encodage utf8 sur fonction

Bonjour,
J'ai un petit soucis avec un formulaire que j'envoie en BDD via une page de traitement.
La page du formulaire est en UTF-8 elle envoie par une page qui ne fait qu'un traitement PHP et envoie des infos en BDD sans aucun affichage car elle redirige une fois son travail terminé.

Le problème est que j'ai une fonction toute simple censée nettoyer le titre soumis par mon formulaire pour en faire une url, mais je ne sais pas comment faire pour que cette page de traitement travail en utf-8 aussi.
J'ai testé les fonction ut8_encode et decode sur mes variables sans aucun effet.

Je ne sais pas si j'ai été très claire donc je donne un petit exemple.
Je tape "élève" dans le formulaire.
La page de traitement considère "élève" et fait les traitements sur cette chaine au lieu d'"élève"

voici l'appel et la fonction qui me pose problème :
Code :
1
2
3
4
5
6
7
8
 
function netoytitre($chaine){
         $urltitre = strtr( $chaine, " ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ()[]'~$&%*@ç!?;,:/^¨{}|+-.", "-AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn---------------------E------");        
         $urltitre = strtolower(ereg_replace("[-]{2,}", "-",  $urltitre));
        return $urltitre;
        }
 
$nomre=netoytitre($_POST['titre']);
Merci d'avance pour vos réponses
shelko est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 12h39   #2
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 802
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 802
Points : 1 515
Points : 1 515
Quel est le charset utilisé dans le php.ini ?
Quel est l'encodage du fichier ? (car tu as des caractères en dur pour ta comparaison)
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 14h17   #3
Membre du Club
 
Inscription : mars 2004
Messages : 208
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 208
Points : 63
Points : 63
Citation:
Envoyé par transgohan Voir le message
Quel est le charset utilisé dans le php.ini ?
C'est vrai que je n'avais pas pensé à ça (je suis une bille en conf serveur)

Citation:
Envoyé par transgohan Voir le message
Quel est l'encodage du fichier ? (car tu as des caractères en dur pour ta comparaison)
Encodage du fichier Peux tu préciser car là je suis dans le flou. Car n'ai pas du tout touché aux header comme je n'affiche rien.
shelko est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 14h27   #4
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 802
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 802
Points : 1 515
Points : 1 515
L'enregistrement du code du fichier est lui aussi soumis à un encodage particulier.
De base sous windows par exemple c'est l'ANSI.
Un fichier HTML possédant une balise meta indiquant de l'utf-8 mais qui aurait été enregistré en format ansi affichera par exemple des caractères bizarre du au conflit de charset.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 14h32   #5
Membre du Club
 
Inscription : mars 2004
Messages : 208
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 208
Points : 63
Points : 63
Donc j'ai changé dans les php.ini car il était en iso, mais ça ne change rien au soucis.
Donc je pense que ça doit être l'encodage du fichier.

Y a t'il une solution simple pour régler le soucis.
Car pour le moment je teste sous wamp, mais j'ai pas franchement envie de redevoir tout recoder en arrivant sur mon serveur de prod.
shelko est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 14h37   #6
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 802
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 802
Points : 1 515
Points : 1 515
La majorité des éditeurs de code permettent de modifier l'encodage du fichier.
Notepad++ par exemple possède un menu qui lui est propre pour cela.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 14h58   #7
Membre du Club
 
Inscription : mars 2004
Messages : 208
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 208
Points : 63
Points : 63
Merci transgohan j'aurais appris quelque chose aujourd'hui.
Par contre ça ne fonctionne toujours pas (même s'il y a du mieux car je n'ai plus de caractères spéciaux dans ma chaîne de caractères).
Mais je viens de m’apercevoir que ce n'est pas le plus pratique et je vais mettre directement un champ texte pour taper le slug de façon à avoir un contrôle plus important sur l'url finale.
shelko 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 07h02.


 
 
 
 
Partenaires

Hébergement Web