mb_convert_encoding et windows-1252

mb_convert_encoding et windows-1252 - PHP - Programmation

Marsh Posté le 10-08-2009 à 12:41:31    

Bon voilà après pas mal de recherches sur le net j'ai reussi à trouver la fonction qui me fallait pour transformer ce que les internautes copie/colle de word pour pourrir la BdD avec des caractères à la mord moi le noeud...
 
Le problème c'est que quand je tente un

Code :
  1. mb_convert_encoding($str,'UTF-8','WINDOWS-1252');

mon résultat n'est pas mieux que si je ne le fesais pas...
 
Si on pouvait m'éclairer sur le sujet...
 
Le code en gros :  

Code :
  1. $contenu = htmlentities(mb_convert_encoding($_REQUEST['contenu'], "UTF-8", "WINDOWS-1252" ));
  2. $req=mysql_query("UPDATE ma_table SET `".$_REQUEST['champ']."`='".mysql_real_escape_string($contenu)."' WHERE id='".$_SESSION['id']."'" );


 
Avant ça il y a le formulaire que les internautes remplissent qui est apparait grace à du JS.


---------------
C'est lorsqu'on a tout perdu qu'on est libre de faire tout ce que l'on veut...(Edward Norton, Fight Club)
Reply

Marsh Posté le 10-08-2009 à 12:41:31   

Reply

Marsh Posté le 10-08-2009 à 12:46:23    

a koi sert ce convertisseur

Reply

Marsh Posté le 10-08-2009 à 13:25:28    

En fait des utilisateurs trouvent bon de faire un copier coller depuis m$ Word (ou le bloc note) et donc les caractères sont formaté en windows1552 alors que le site est entièrement en UTF-8 voici le résultat qui s'affiche : & é %u201C %u2018 ( - è _ ç à ) ~ # { [ |` \ ^ @ ] }
%u201C = "
%u2018 = '

Message cité 1 fois
Message édité par jazon14 le 10-08-2009 à 13:30:56

---------------
C'est lorsqu'on a tout perdu qu'on est libre de faire tout ce que l'on veut...(Edward Norton, Fight Club)
Reply

Marsh Posté le 12-08-2009 à 21:26:19    

C'est bizarre car si l'encodage de la page et le navigateur sont en UTF8, l'enregistrement des données par le navigateur se fera en UTF8


---------------
Toutes les promos de vos magasins près de chez vous
Reply

Marsh Posté le 12-08-2009 à 22:26:21    

jazon14 a écrit :

En fait des utilisateurs trouvent bon de faire un copier coller depuis m$ Word (ou le bloc note) et donc les caractères sont formaté en windows1552 alors que le site est entièrement en UTF-8 voici le résultat qui s'affiche : & é %u201C %u2018 ( - è _ ç à ) ~ # { [ |` \ ^ @ ] }
%u201C = "
%u2018 = '


Non, ce n'est pas formatté en cp1252, c'est formatté en unicode. Le truc peut-être un poil chiant, c'est que word utilise des caractères typographiques (comme les guillemets: “ ” , tirets – — ―, ....) au lieu des codes ASCII traditionnel. D'autant plus chiant si tu cherches à faire des traitements dessus. En tous les cas, je laisserai le navigateur te traduire ça (via le <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> ).

Reply

Marsh Posté le 13-08-2009 à 07:34:23    

Je vais essayer la balise meta, et je vais voir...


---------------
C'est lorsqu'on a tout perdu qu'on est libre de faire tout ce que l'on veut...(Edward Norton, Fight Club)
Reply

Marsh Posté le 24-08-2009 à 01:38:06    

la balise meta ne suffit pas, je pense en fait que ça pourrait etre un probleme avec l'ajax (vu que c'est l'ajax qui traite le formulaire...mais la je seche si c'est pas ça...)


---------------
C'est lorsqu'on a tout perdu qu'on est libre de faire tout ce que l'on veut...(Edward Norton, Fight Club)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed