Problème d'encodage : envoi d'un message sur le forum depuis le site

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 ce forum.

Modérateur: Equipe

Problème d'encodage : envoi d'un message sur le forum depuis le site

Messagepar Cobra21 » 01 Nov 2011 à 07:23

Bonjour,

J'ai un code me servant à envoyer un message sur le forum depuis mon site, le problème c'est que les accents sur le forums apparaissent sous forme de point d'interrogation... je n'arrive pas à trouver la solution.
J'utilise notepad++ et je code en UTF8 sans bom.
Mon formulaire comporte plusieurs champs qui seront introduit dans le message. j'ai essayer de récupérer les champs de ces manières là:
Code: Tout sélectionner
$pseudo = utf8_normalize_nfc(request_var('auteur',''), '', true);
et
$pseudo = request_var('auteur','');


voici le code entier:
Code: Tout sélectionner
$pseudo = utf8_normalize_nfc(request_var('auteur',''), '', true);
...
$comm = utf8_normalize_nfc(request_var('com',''), '', true);

$messagex = "Pr&eacute;nom: ".$nom."<br /> &acirc;ge: ".$age." <br /> SteamID: ".$steamid." <br /> Comment vous avez nous connus : ".$comment." <br /> Que recherchez vous dans un (notre) clan: ".$recherche." <br /> un commentaire: ".$comm."";
$forumx = 11;

$timex = time();
$rawsubjectx = "Demande de recrutement ".$pseudo."";
$my_subjectx   = utf8_normalize_nfc($rawsubjectx, '', true);
$my_textx   = utf8_normalize_nfc($messagex, '', true);
$poll = $uid = $bitfield = $options = '';
generate_text_for_storage($my_subjectx, $uid, $bitfield, $options, false, false, false);
generate_text_for_storage($my_textx, $uid, $bitfield, $options, true, true, true);


D'avance merci !

- Titre édité par Morgyanne -
Titre d'origine : Problème d'encodage
Cobra21
Posteur néophyte
Posteur néophyte
 
Messages: 24
Inscription: 28 Juil 2011 à 08:29

Re: Problème d'encodage

Messagepar CowBoySD » 01 Nov 2011 à 07:54

As-tu essayé un utf8_decode ?
Création de site web : http://dewep.net
Avatar de l’utilisateur
CowBoySD
Graph Contest Winner
Graph Contest Winner
 
Messages: 321
Inscription: 24 Nov 2009 à 19:53
Avertissements: 1

Problème d'encodage

Messagepar soda » 01 Nov 2011 à 09:56

Le 3em paramètre de request_var() doit être
Code: Tout sélectionner
TRUE



Sent from my iPhone using Tapatalk
Appelez moi..... Ismaël
soda
Apprenti-posteur
Apprenti-posteur
 
Messages: 123
Inscription: 25 Déc 2006 à 11:55

Re: Problème d'encodage

Messagepar Cobra21 » 02 Nov 2011 à 22:33

Merci, je vais essayer vos solution d'ici ce weekend, je vous tiens au courant !

Edit: Le decode n'est -il pas censé faire l'inverse ? Ceci dit j'ai tout de même testé mais cela ne marche pas et encode non plus.
Le true quand je le met en troisième paramètre ne m'affiche pas le mot du tout sur le forum.

Merci quand même ^^'
Cobra21
Posteur néophyte
Posteur néophyte
 
Messages: 24
Inscription: 28 Juil 2011 à 08:29

Problème d'encodage

Messagepar soda » 03 Nov 2011 à 08:48

Tu fais mal les choses voilà tout, mais le request_var() doit être comme je te l'ai dis ;)


Sent from my iPhone using Tapatalk
Appelez moi..... Ismaël
soda
Apprenti-posteur
Apprenti-posteur
 
Messages: 123
Inscription: 25 Déc 2006 à 11:55

Re: Problème d'encodage

Messagepar sylver35 » 03 Nov 2011 à 11:51

Bonjour,

Code: Tout sélectionner
$pseudo = utf8_normalize_nfc(request_var('auteur', '', true));
La vitesse de la lumière étant supérieure à la vitesse du son, bien des gens paraissent brillants jusqu'au moment où ils ouvrent la bouche.

Image

Nouvelle version du 25/12/2011: Mod Breizh Shoutbox v1.5.0 || Nouvelle version du 22 Mai: Mod Breizh Ajax Checks 1.3.0
Nouvelle version du 04/03/2012: Mod Browser, os & Screen 1.0.0
|| Version du 05/03/2012 -> Erreurs et Notices de débug v1.2.0
Info Sécurité -> Renommer le dossier d'administration adm || Une captcha efficace contre les inscriptions robots || Hébergement breizh hosting (- 15% via Breizh Portal)
Avatar de l’utilisateur
sylver35
Grand-maître des floodeurs
Grand-maître des floodeurs
 
Messages: 4571
Inscription: 26 Fév 2008 à 14:58
Localisation: Bretagne

Re: Problème d'encodage

Messagepar Cobra21 » 04 Nov 2011 à 08:30

Code: Code.txt

Je ne pense pas m'être trompée ?

Lorsque je poste un message rien ne s'affiche s'il y a des accents
Cobra21
Posteur néophyte
Posteur néophyte
 
Messages: 24
Inscription: 28 Juil 2011 à 08:29

Re: Problème d'encodage

Messagepar soda » 05 Nov 2011 à 10:31

Déjà, utf8_normalize_nfc() n'a pas à être utilisé ici
Appelez moi..... Ismaël
soda
Apprenti-posteur
Apprenti-posteur
 
Messages: 123
Inscription: 25 Déc 2006 à 11:55

Re: Problème d'encodage

Messagepar Cobra21 » 05 Nov 2011 à 19:07

soda a écrit:Déjà, utf8_normalize_nfc() n'a pas à être utilisé ici


Comment puis-je me débrouillé pour avoir mon texte avec les accents de manière correcte sur mon forum?
Car je ne vois vraiment pas,
Si je ne met rien, les mots avec accents ne s'affichent pas, il en va de même si je le met...
Cobra21
Posteur néophyte
Posteur néophyte
 
Messages: 24
Inscription: 28 Juil 2011 à 08:29

Re: Problème d'encodage : envoi d'un message sur le forum depuis le site

Messagepar spitfire pat » 06 Nov 2011 à 07:40

je pense que ces deux lignes dans ton code sont inutiles:
Code: Tout sélectionner
$my_subjectx   = utf8_normalize_nfc($rawsubjectx, '', true);
$my_textx   = utf8_normalize_nfc($messagex, '', true);


prenons l'exemple de $rawsubjectx:
$rawsubjectx = "Demande de recrutement ".$pseudo."";

- en bleu: du texte directement écrit dans ton script et qui par conséquent va être enregistré au format utf-8 (en plus, il ne contient pas de caractères accentués)
- en rouge: une variable qui est déjà passée par la fonction utf8_normalize_nfc

pareil pour $messagex:(d'autant qu'ici, le texte du script a été converti en caractères html spéciaux (&eacute pour é, &acirc pour â, etc) ce qui rend inutile sa conversion en utf8
$messagex = "Pr&eacute;nom: ".$nom."<br /> &acirc;ge: ".$age." <br /> SteamID: ".$steamid." <br /> Comment vous avez nous connus : ".$comment." <br /> Que recherchez vous dans un (notre) clan: ".$recherche." <br /> un commentaire: ".$comm."";
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15313
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

Re: Problème d'encodage : envoi d'un message sur le forum depuis le site

Messagepar Cobra21 » 06 Nov 2011 à 11:12

Oui c'est pas faux, je vois bien ce que tu veut dire.
Ceci dit j'ai toujours le même problème, mon texte accentué ne s'affiche pas..
Exemple: Si dans mon formulaire le pseudo est tétine, le titre du sujet sera "Demande de recrutement "
Code: Tout sélectionner
$pseudo = utf8_normalize_nfc(request_var('auteur', '',true));
...
$comm = utf8_normalize_nfc(request_var('com', '',true));

$my_textx = "pseudo: ".$pseudo." <br />Pr&eacute;nom: ".$nom."<br /> &acirc;ge: ".$age." <br /> SteamID: ".$steamid." <br /> Comment vous avez nous connus : ".$comment." <br /> Que recherchez vous dans un (notre) clan: ".$recherche." <br /> un commentaire: ".$comm."";
$forumx = 11;



$timex = time();
$my_subjectx = "Demande de recrutement ".$pseudo."";

$poll = $uid = $bitfield = $options = '';

generate_text_for_storage($my_subjectx, $uid, $bitfield, $options, false, false, false);
generate_text_for_storage($my_textx, $uid, $bitfield, $options, true, true, true);



et si je fait de cette manière la:
Code: Tout sélectionner
$pseudox = request_var('auteur','');
$pseudo = utf8_normalize_nfc($pseudox, '', true);


Lorsque tétine est entré comme pseudo j’obtiens, t?tine (si je rajoute ,true dans le request var je n'obtiens rien non plus
Cobra21
Posteur néophyte
Posteur néophyte
 
Messages: 24
Inscription: 28 Juil 2011 à 08:29

Re: Problème d'encodage : envoi d'un message sur le forum depuis le site

Messagepar spitfire pat » 06 Nov 2011 à 13:10

je pense que tu as oublié de mettre dans l'entête de ton formulaire
Code: Tout sélectionner
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15313
Inscription: 18 Sep 2004 à 15:43
Localisation: bourgogne

Re: Problème d'encodage : envoi d'un message sur le forum depuis le site

Messagepar Cobra21 » 06 Nov 2011 à 18:58

Mon en tête est correcte (hélas je dirais, c'est la première chose que j'avais vérifiés)
Code: Tout sélectionner
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<link href="style.css" rel="stylesheet" type="text/css">



Edit: En mettant simplement un champ titre, et un champ message de cette facon, cela marche :/
Code: Tout sélectionner
$auteur = request_var('auteur','',true);
$tmsg = request_var('tmsg', '',true);
$messagex = "$tmsg";
$forumx = 7;
$timex = time();
$rawsubjectx = "Demande de recrutement ".$auteur.""; // subject of the newly made thread
$my_subjectx   = utf8_normalize_nfc($rawsubjectx, '', true);
$my_textx   = utf8_normalize_nfc($messagex, '', true);
$poll = $uid = $bitfield = $options = '';

generate_text_for_storage($my_subjectx, $uid, $bitfield, $options, false, false, false);
generate_text_for_storage($my_textx, $uid, $bitfield, $options, true, true, true);


Ceci dit ce n'est pas tout a fait ce que je demande, surtout niveau esthétique en fait :x
Donc j'en déduit que le problème vient des variables, dans $messagex ? :/
Cobra21
Posteur néophyte
Posteur néophyte
 
Messages: 24
Inscription: 28 Juil 2011 à 08:29

Re: Problème d'encodage : envoi d'un message sur le forum depuis le site

Messagepar CowBoySD » 07 Nov 2011 à 06:27

Ben, en même temps, je vois pas trop l'intérêt de passer ta variable $messagex dans utf8_normalize_nfc.
As-tu essayé le même code sauf sans cette ligne ?
=>
Code: Tout sélectionner
$auteur request_var('auteur','',true);
$my_textx request_var('tmsg''',true);
$forumx 7;
$timex time();
$rawsubjectx "Demande de recrutement ".$auteur.""// subject of the newly made thread
$my_subjectx   utf8_normalize_nfc($rawsubjectx''true);
//$my_textx   = utf8_normalize_nfc($messagex, '', true);
$poll $uid $bitfield $options '';

generate_text_for_storage($my_subjectx$uid$bitfield$optionsfalsefalsefalse);
generate_text_for_storage($my_textx$uid$bitfield$optionstruetruetrue); 


Sinon il faudrait que tu regardes dans le code source de phpBB.
Savoir comment ça fonctionne... ;)
Création de site web : http://dewep.net
Avatar de l’utilisateur
CowBoySD
Graph Contest Winner
Graph Contest Winner
 
Messages: 321
Inscription: 24 Nov 2009 à 19:53
Avertissements: 1

Re: Problème d'encodage : envoi d'un message sur le forum depuis le site

Messagepar Cobra21 » 08 Nov 2011 à 15:44

Ok je test ça, je vous tiens au courant soit dans la journée, soit demain
Cobra21
Posteur néophyte
Posteur néophyte
 
Messages: 24
Inscription: 28 Juil 2011 à 08:29

Suivante

Retourner vers Coding, Webmastering et Sécurité informatique

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

Partenaires : phpBBHacks.com • phpBB-Seo.com • EzCom-fr.com • phpBB3 Styles • phpBB podpora • phpBB Portugal    Liens : Net Avenir • PromoBenef • Ticket Gagnant