[Réglé] Codage du charset

Ce forum aborde toutes les questions qu'un codeur ou webmaster pourrait se poser, et n'ayant aucun rapport direct avec phpBB.
Tout ce qui peut concerner la récupération des sessions de phpBB sur votre site, doit se faire dans cette section.

Modérateur: Equipe

Règles du forum
A lire impérativement : Règlement de phpBB-fr.com

[Réglé] Codage du charset

Messagepar DoulaDie » 31 Mai 2013 à 22:07

Bonjour la compagnie,

J'ai un forum (bien sûr) qui a aussi un portail annexe. Dans ce portail, j'ai une page "contact" dont le fichier "send_form_email.php" a comme charset: ISO-8859-1"

Hors, je reçois le courriel de réponse dont les commentaires sont libellé avec des caractères indésirables comme: j\'étais ou dans le mot l\'autre

Sur un court message, ce n'est pas un gros problème mais si je reçois 500 mots avec ces fions un peu partout, ça devient difficile à lire.

Est-ce que ça serait un problème avec le codage ?

MERCI de me répondre.
Modifié en dernier par DoulaDie le 02 Juin 2013 à 15:01, modifié 3 fois.
Mémé vous remercie d'être patient(e) avec elle !
DoulaDie
Posteur habitué
Posteur habitué
 
Messages: 293
Enregistré le: 01 Aoû 2008 à 05:05

Re: Codage du charset

Messagepar florianb » 31 Mai 2013 à 22:12

Salut,

Utilises utf8 sans bom sur tes fichiers ;). Ca devrait résoudre ton soucis ;).
Notepad++ is your friend ;).

Cordialement.
Adresse du forum pour tous les posts : http://forum.series-parlotte.eu. Merci à toute votre équipe ;)

Image Image http://series-parlotte.eu. Site en construction, recherchons codeur, graphistes, rédacteurs. 2 thèmes sur le forum au choix en étant membre.
Avatar de l’utilisateur
florianb
Apprenti-floodeur
Apprenti-floodeur
 
Messages: 1217
Enregistré le: 15 Juin 2011 à 16:10

Re: Codage du charset

Messagepar DoulaDie » 31 Mai 2013 à 22:34

euhhhhhhh

Tu veux dire que je dois modifier le code php de mon fichier "send_form_email" avec Notepad ?
En fait, je ne comprends pas très bien ta réponse. Si je regarde les codes de ma feuille qui sont...

Code: Tout sélectionner
<head>
<meta http-equiv="Content-Type"content="text/html; charset=ISO-8859-1" />
<title>Forum55plus.ca</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link rel="stylesheet" type="text/css" href="style.css" />


Je veux juste modifier le codage ISO-8859-1
Je ne peux pas le faire directement ?

À noter que j'ai Dreamweaver et que ce logiciel permet le mode "code" et le mode "création". Donc, si je vais dans "code" je peux le modifier, non ?
Mémé vous remercie d'être patient(e) avec elle !
DoulaDie
Posteur habitué
Posteur habitué
 
Messages: 293
Enregistré le: 01 Aoû 2008 à 05:05

Re: Codage du charset

Messagepar florianb » 31 Mai 2013 à 22:39

Re,

Si j'ai bonne mémoire, plusieurs codeurs de phpbb (me semble-t-il) m'avaient dit que Dreamweaver était... pas bien ^^. Télécharges notepadd++ je te dirai pour éditer tes fichiers.
Remplaces ISO-8859-1 par UTF-8 ;). Je pense que ce sera bon :).

Cordialement.
Adresse du forum pour tous les posts : http://forum.series-parlotte.eu. Merci à toute votre équipe ;)

Image Image http://series-parlotte.eu. Site en construction, recherchons codeur, graphistes, rédacteurs. 2 thèmes sur le forum au choix en étant membre.
Avatar de l’utilisateur
florianb
Apprenti-floodeur
Apprenti-floodeur
 
Messages: 1217
Enregistré le: 15 Juin 2011 à 16:10

Re: Codage du charset

Messagepar DoulaDie » 31 Mai 2013 à 22:50

OK, je connais NotePad, je l'ai déjà utilisé pour modifier une lettre de bienvenue pour le forum.

Alors je vais passer par là. MERCI.
Mémé vous remercie d'être patient(e) avec elle !
DoulaDie
Posteur habitué
Posteur habitué
 
Messages: 293
Enregistré le: 01 Aoû 2008 à 05:05

Re: Codage du charset

Messagepar florianb » 31 Mai 2013 à 22:58

Pas de quoi si ca a pu t'aider ;).
Oublies pas de cocher que c'est résolu si tout est bon ;).
Adresse du forum pour tous les posts : http://forum.series-parlotte.eu. Merci à toute votre équipe ;)

Image Image http://series-parlotte.eu. Site en construction, recherchons codeur, graphistes, rédacteurs. 2 thèmes sur le forum au choix en étant membre.
Avatar de l’utilisateur
florianb
Apprenti-floodeur
Apprenti-floodeur
 
Messages: 1217
Enregistré le: 15 Juin 2011 à 16:10

Re: Codage du charset

Messagepar DoulaDie » 31 Mai 2013 à 23:14

J'irai cocher quand j'aurai fait le travail au cas où !

MERCI ENCORE.

__________________________________________________

J'avais un doute qui c'est confirmé.
C'est pire avec UTF-8 car maintenant, les accents comme "é" sont avec des carrés:

j\'�tais.

curieusement, mon "carré" est devenu un truc noir avec point d'interrogation sur ce forum.

_____________________________________________________

Autre édition car je ne peux faire de "up" même si j'apporte des infos supplémentaires...


J'ai inscrit mon code ainsi:
Code: Tout sélectionner
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">


et voici ce qu'a l'air mon mail de réception:

D&eacute;tails du formulaire envoy&eacute; ci-dessous.

Courriel: xxxxxxxxxxx@hotmail.com
Nom: douladie
Message: deuxième essai avec les mots: l\'autre et j\'essaie

les é, è, ê, ô passent comment ?


Pour la description du formulaire ce n'est pas grave mais si les gens écrivent beaucoup de mots avec l'apostrophe, ça ne sera pas intéressant à lire mais si on ni peut rien, on n'y peut rien !

Vous avez une autre idée du problème ?
Mémé vous remercie d'être patient(e) avec elle !
DoulaDie
Posteur habitué
Posteur habitué
 
Messages: 293
Enregistré le: 01 Aoû 2008 à 05:05

Re: Codage du charset

Messagepar Théonaute » 01 Juin 2013 à 03:39

Bonjour,

Pour votre problème original, rien à voir avec l'encodage...
C'est en fait une fonction php du serveur (ou de votre script) qui ajoute des backslash automatiquement sur les entrées utilisateurs, pour "éviter" les failles d'injection SQL.
Pour enlever cela, il suffit de faire un stripslashes() sur la variable à afficher dans le code PHP.


Pour corriger la situation du charset, suite à votre modification, recochez "Encoder en ANSI".
Lorsque vous changes d'encodage de fichier dans NOTEPAD++, il faut choisir les options "Convertir" et non "Encoder" sinon vous vous retrouvez avec ce genre de problèmes.
Je vous recommande cependant l'utilisation d'UTF8 comme charset. Pour cela, sélectionnez "Convertir en utf8 sans bom" dans Notepad++. Ensuite, dans votre code, vitre balise meta pour le charset devrait être: <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

Bonne soirée,
Théonaute | Ancien membre de l'équipe des MODs
Citation :
<?php while(!($succeed = try())) ?>
Je ne suis plus actif dans la communauté phpBB. Je ne fais donc plus de support, de MODs (extensions) ni de support pour mes MODs...
Avatar de l’utilisateur
Théonaute
1/4 hibou
1/4 hibou
 
Messages: 6027
Enregistré le: 22 Jan 2006 à 16:45
Localisation: Au pays des caribous

Re: Codage du charset

Messagepar florianb » 01 Juin 2013 à 08:39

Re,

Zut :/. Ce coup là je risquais pas de le trouver. Désolé pour les soucis engendrés :/.
Adresse du forum pour tous les posts : http://forum.series-parlotte.eu. Merci à toute votre équipe ;)

Image Image http://series-parlotte.eu. Site en construction, recherchons codeur, graphistes, rédacteurs. 2 thèmes sur le forum au choix en étant membre.
Avatar de l’utilisateur
florianb
Apprenti-floodeur
Apprenti-floodeur
 
Messages: 1217
Enregistré le: 15 Juin 2011 à 16:10

Re: Codage du charset

Messagepar cabot » 01 Juin 2013 à 10:21

florianb a écrit:Si j'ai bonne mémoire, plusieurs codeurs de phpbb (me semble-t-il) m'avaient dit que Dreamweaver était... pas bien ^^.


Disons que dreamweaver est très bien pour faire de la production de sites. C'est un outil professionnel très puissant qu'il faut bien connaître pour maîtriser.

Ses performances ne sont d'aucune utilité pour ce qui nous concerne, d'autant que le logiciel peut modifier le code "à ton insu" si tu ne sais pas le paramétrer correctement. ^^
Avatar de l’utilisateur
cabot
Equipe site
Equipe site
 
Messages: 26821
Enregistré le: 13 Fév 2011 à 20:42
Localisation: Rarement sur la plaque

Re: Codage du charset

Messagepar DoulaDie » 01 Juin 2013 à 11:50

Théonaute a écrit:Bonjour,

Pour votre problème original, rien à voir avec l'encodage...
C'est en fait une fonction php du serveur (ou de votre script) qui ajoute des backslash automatiquement sur les entrées utilisateurs, pour "éviter" les failles d'injection SQL.
Pour enlever cela, il suffit de faire un stripslashes() sur la variable à afficher dans le code PHP.

Mémé n'a rien compris sur cet aspect là du problème. Je vais chercher sur le net ce qu'est un stripslashes.

Théonaute a écrit:Pour corriger la situation du charset, suite à votre modification, recochez "Encoder en ANSI".
Lorsque vous changes d'encodage de fichier dans NOTEPAD++, il faut choisir les options "Convertir" et non "Encoder" sinon vous vous retrouvez avec ce genre de problèmes.
Je vous recommande cependant l'utilisation d'UTF8 comme charset. Pour cela, sélectionnez "Convertir en utf8 sans bom" dans Notepad++. Ensuite, dans votre code, vitre balise meta pour le charset devrait être: <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

N'est-ce pas le code que j'avais inscrit plus haut ?
Je n'ai rien modifié avec Dreaweaver (on m'avait avisé que Dream était nul pour le php), je l'ai fait avec NotePad++ et téléchargé avec Filezilla.
Mémé vous remercie d'être patient(e) avec elle !
DoulaDie
Posteur habitué
Posteur habitué
 
Messages: 293
Enregistré le: 01 Aoû 2008 à 05:05

Re: Codage du charset

Messagepar Théonaute » 01 Juin 2013 à 20:08

stripslashes() est une fonction PHP à mettre dans le code.
Est-ce que c'est vous qui avait créée le fichier php ? Sinon, rendez-nous la source disponible, on vous indiquera les modifications à y apporter.

Pour le code meta, oui c'est celui mis plus haut, mais il est important de faire les étapes données dans l'ordre dans Notepad++ pour annuler la modification donnée par florianb et reconvertir le tout proprement en utf8.

Bonne journée,
Théonaute | Ancien membre de l'équipe des MODs
Citation :
<?php while(!($succeed = try())) ?>
Je ne suis plus actif dans la communauté phpBB. Je ne fais donc plus de support, de MODs (extensions) ni de support pour mes MODs...
Avatar de l’utilisateur
Théonaute
1/4 hibou
1/4 hibou
 
Messages: 6027
Enregistré le: 22 Jan 2006 à 16:45
Localisation: Au pays des caribous

Re: Codage du charset

Messagepar DoulaDie » 01 Juin 2013 à 20:49

Effectivement, vous aurez compris, par mon ignorance, que ce n'est pas moi qui est fait le send_form_email.

Voici la partie supérieure du code...

Code: Tout sélectionner
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Forum55plus.ca</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link rel="stylesheet" type="text/css" href="style.css" />
<style type="text/css">
<!--


C'est suivi du montage design de ma page
Et après le design, j'ai...

Code: Tout sélectionner
<?php 
if(isset($_POST['courriel'])) { 

   // EDIT THE 2 LINES BELOW AS REQUIRED 
   $email_to = "diane.dufresne@hotmail.com"; 
   $email_subject = "Commentaires pour Forum55plus"; 


   function died($error) { 
      // your error code can go here 
      echo "D&eacute;sol&eacute;e mais il semble y avoir erreur dans le formulaire. "; 
      echo $error."<br /><br />"; 
      echo "SVP retourner au formulaire en utilisant le bouton retour dans votre barre d'outils en haut pour conserver vos donn&eacute;es.<br /><br />"; 
      die(); 
   } 

   // validation expected data exists 
   if(!isset($_POST['courriel']) || 
      !isset($_POST['nom']) || 
      !isset($_POST['message'])) { 
      died('Les champs marqu&eacute;s d\'un ast&eacute;risque (*) sont obligatoires.'); 
   } 

   extract($_POST); 
   //print_r($_POST); 

   $error_message = ""; 
   $email_exp = "^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$"; 
   if(!eregi($email_exp,$courriel)) { 
      $error_message .= 'V&eacute;rifiez votre adresse courriel.<br />'; 
   } 
   $string_exp = "^[a-z .'-]+$"; 
   if(!eregi($string_exp,$nom)) { 
      $error_message .= 'V&eacute;rifiez votre nom ou pseudo.<br />'; 
   } 
   if(strlen($message) < 2) { 
      $error_message .= 'Aucun message inscrit.<br />'; 
   } 

   if(strlen($error_message) > 0) { 
      died($error_message); 
   } 
   $email_message = "D&eacute;tails du formulaire envoy&eacute; ci-dessous.\n\n"; 

   function clean_string($string) { 
      $bad = array("content-type","bcc:","to:","cc:","href"); 
      return str_replace($bad,"",$string); 
   } 

   $email_message .= "Courriel: ".clean_string($courriel)."\n"; 
   $email_message .= "Nom: ".clean_string($nom)."\n"; 
   $email_message .= "Message: ".clean_string($message)."\n"; 


   // create email headers 
   $headers = 'From: '.$courriel."\r\n". 
   'Reply-To: '.$courriel."\r\n" . 
   'X-Mailer: PHP/' . phpversion(); 
   mail($email_to, $email_subject, $email_message, $headers); 
} 
?>


Et ça se termine par un pied de page html où j'ai une série de liens.
Mémé vous remercie d'être patient(e) avec elle !
DoulaDie
Posteur habitué
Posteur habitué
 
Messages: 293
Enregistré le: 01 Aoû 2008 à 05:05

Re: Codage du charset

Messagepar Théonaute » 02 Juin 2013 à 00:55

Remplacez:
Code: Tout sélectionner
function clean_string($string) { 
      $bad = array("content-type","bcc:","to:","cc:","href"); 
      return str_replace($bad,"",$string); 
   }

Par:
Code: Tout sélectionner
function clean_string($string) { 
      $bad = array("content-type","bcc:","to:","cc:","href"); 
      return str_replace($bad,"",stripslashes($string)); 
   }


Bonne soirée,
Théonaute | Ancien membre de l'équipe des MODs
Citation :
<?php while(!($succeed = try())) ?>
Je ne suis plus actif dans la communauté phpBB. Je ne fais donc plus de support, de MODs (extensions) ni de support pour mes MODs...
Avatar de l’utilisateur
Théonaute
1/4 hibou
1/4 hibou
 
Messages: 6027
Enregistré le: 22 Jan 2006 à 16:45
Localisation: Au pays des caribous

Re: Codage du charset

Messagepar DoulaDie » 02 Juin 2013 à 01:25

Désolée du retard, on a manqué d'électricité au Québec (orage).

Je test ça.
_______________________________________________________________

Voici la modif que j'ai faite, comme suggéré
Image

Et voici la réponse mail

D&eacute;tails du formulaire envoy&eacute; ci-dessous.

Courriel: diane.dufresne@hotmail.com
Nom: die
Message: l'autre
J'essaie
"�"


Le titre demeure bizarre mais ce n'est pas l'essentiel. L'apostrophe a été corrigé mais le "é" est un carré dans mon mail. Je vais faire un autre test avec tous les accents.
_____________________________________________________________________

Je crois que le "é" qui était entre guillemets posait problème car une phrase avec des accents comme:

Mon beau-frère André va très bien. Nous sommes allés au lac Cristal (rassemblement annuel) et nous avons été très heureux de l'événement.

Ça a très bien passé. Donc... une autre chose de réglé !!! J'vous dis qu'ici on a du service A1.

Un autre week-end où la mémé est très heureuse malgré le mauvais temps.

MILLES MERCIS THÉONAUTE.

____________________________________________________________________

Ben coudon... quand on règle un problème, on en voit un autre apparaître !

Quand je reçois le mail de réponse, dans l'entête j'ai des noms bizarres qui ne correspondent pas à mon envoi... Je ne connais nullement ce "Windi Irawan" d'où ça sort ???

MailingList pour Forum55plus‏
Windi Irawan (die@gmail.com)

À : xxxxxxxxxx@hotmail.com

Détails du formulaire envoyé ci-dessous.

Demande de désabonnement
Nom: Doula-Die
Courriel: xxxxxxxxxx@gmail.com
Mémé vous remercie d'être patient(e) avec elle !
DoulaDie
Posteur habitué
Posteur habitué
 
Messages: 293
Enregistré le: 01 Aoû 2008 à 05:05

Suivante

Retourner vers Coding, Webmastering et Sécurité informatique

 


  • Articles en relation
    Réponses
    Vues
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 2 invités

cron