tinyMCE => PHP => MySQL : erreur UTF-8 (Incorrect string value) - HTML/CSS - Programmation
Marsh Posté le 24-04-2012 à 16:03:56
Voila sa réponse à ma question sur sa façon de copier/coller:
Citation : je travaille avec wordpad |
Personne n'a d'idée ?
Marsh Posté le 26-04-2012 à 10:23:49
Tu insères comment tes données en bases ? A la bite et au couteau ou tu passes par de vrais outils ? PDO, doctrine ou autre
Marsh Posté le 26-04-2012 à 11:49:13
Bite + couteau :
J'ai un traitement de mes $_get et $_post que je met dans un array() $form en nettoyant un peu (genre stripslashe si nécessaire).
Et après j'ai un singleton DB pour mes requetes SQL.
Rien de bien méchant en somme, ce qui est bizarre c'est que le bug semble aléatoire...
Marsh Posté le 26-04-2012 à 18:08:53
En l’occurrence mon singleton fait :
Code :
|
Et je reçoit par mail ce que j'ai mit en code dans mon premier mail...
Mais évidement dans le mail j'ai pas les \xE2, le texte à l'intérieur de la colonne contenu à l'air correct...
Pourquoi et dans quel condition l'UTF-8 pourrait se corrompre, c'est ca que je ne comprend pas, et que je n'arrive pas à débugguer
Marsh Posté le 28-04-2012 à 13:20:06
Le dernier plantage était due au terme "pachalık" si on remplace le par "pachalik", ça fonctionne (notez le i "à la con" ).
Mais en UTF-8 est que ça ne devrait pas passer ?
Je pensais naivement qu'on pouvait coder n'importe quel caractère en UTF-8, me serait-je fourvoyé ? ^^
Sinon qu'elle vérification puis je faire en php dans mon singleton, je fais un DB::protect dans toutes mes requêtes quand je n'ai pas affaire à une valeur numérique.
Pour le moment je me contente d'un mysql_real_escape_string(), mais je pourrais par exemple ajouter un iconv() ou un preg_replace() pour traiter ces caractères avant l'insertion SQL.
Marsh Posté le 24-04-2012 à 12:30:16
Bonjour,
J'ai un module de contenu dont la sauvegarde génère parfois des erreurs du type
Je pense que c'est un problème de copier coller depuis certains logiciels ou avec certains navigateurs mais j'aimerais bien un peu d'aide pour debuger / résoudre le problème en traitant mon input ou dans le pire des cas expliquer à mes utilisateurs une manipulation "safe".
L'utilisateur à qui ça arrive, (qui n'est pas très computer friendly utilise surement notepad et IE) je vais checker ça plus en détail...
Si certaines personne ont déjà rencontré le problème ou ont des pistes à exploré...