Page 1 sur 1
[Résolu mais solution provisoire] Problème d'apostrophe
Posté : dim. 13 janv. 2013 23:37
par Larsad
Bonjour,
Quand un texte saisi (lors de la création d'un ticket) contient des apostrophes, chaque apostrophe est transformée en \'
la base mysql > Moteur de stockage = Mysam et Interclassement = utf8_general_ci
(sur le site démo de gestsup le problème ne se produit pas)
si quelqu'un a une idée ?
Merci d'avance pour toute aide.
L
Re: Problème d'apostrophe
Posté : lun. 14 janv. 2013 00:58
par Larsad
Bonjour
J'ai réglé le problème
Le fil peut être fermé
Merci
Re: Problème d'apostrophe
Posté : lun. 14 janv. 2013 05:11
par Flox
Quel solution avez vous trouvé au problème ? Merci
Re: [Résolu] Problème d'apostrophe
Posté : lun. 14 janv. 2013 08:59
par Larsad
Bonjour,
j'ai remplacé dans tous les fichiers (newticket.php, newticket_u.php, ticket.php, ticket_u.php,
où il y a ce code :
Code : Tout sélectionner
// special char in sql query
$_POST['description'] = str_replace('\\','\\\\',$_POST['description']);
$_POST['resolution'] = str_replace("\\","\\\\",$_POST['resolution']);
$_POST['title'] = str_replace("\\","\\\\",$_POST['title']);
$_POST['description'] = str_replace("'","\'",$_POST['description']);
$_POST['resolution'] = str_replace("'","\'",$_POST['resolution']);
$_POST['title'] = str_replace("'","\'",$_POST['title']);
$_POST['title'] = str_replace(chr(34),"\'",$_POST['title']);
par
Code : Tout sélectionner
// special char in sql query
// $_POST['description'] = str_replace('\\','\\\\',$_POST['description']);
// $_POST['resolution'] = str_replace("\\","\\\\",$_POST['resolution']);
// $_POST['title'] = str_replace("\\","\\\\",$_POST['title']);
// $_POST['description'] = str_replace("'","\'",$_POST['description']);
// $_POST['resolution'] = str_replace("'","\'",$_POST['resolution']);
// $_POST['title'] = str_replace("'","\'",$_POST['title']);
// $_POST['title'] = str_replace(chr(34),"\'",$_POST['title']);
et dans le fichier newticket_useradd.php, j'ai remplacé :
Code : Tout sélectionner
//Special char rename
$_POST['firstname'] = str_replace("'","\'",$_POST['firstname']);
$_POST['lastname'] = str_replace("'","\'",$_POST['lastname']);
par
Code : Tout sélectionner
//Special char rename
// $_POST['firstname'] = str_replace("'","\'",$_POST['firstname']);
// $_POST['lastname'] = str_replace("'","\'",$_POST['lastname']);
Re: [Résolu] Problème d'apostrophe
Posté : lun. 14 janv. 2013 18:32
par Flox
Bonjour,
avec ces modifications vous risquez d'oberver des message d'erreur lors de l'insertion de nom ou message possedant des accènts car la requete SQL va être tronqué.
Pouvez vous me donnez le detail de vos versions Serveur + Windows + Navigateur.
Car je n'arrive pas à reproduire le problème de mon coté.
Merci
Re: [Résolu] Problème d'apostrophe
Posté : lun. 14 janv. 2013 22:31
par Larsad
Bonjour,
Merci pour l'intérêt à mon problème
pour les utilisateurs, j'ai créé des comptes uniquement avec des lettres non accentuées, sans apostrophe, ni espace (c'est ce que je fais toujours, sur tous les sites que je gère)
J'ai fait des tests sur Firefox, IE, Chrome et opéra (dernières versions)
J'ai fait ces tests sur windows 7 et sur windows xp
Pour le serveur, voilà les infos :
- Version Apache 2.0.63
Version PHP 5.2.6
Version MySQL 5.0.96-community-log
Architecture i686
Système d'exploitation linux
Base Mysql :
- Interclassement utf8_general_ci
Moteur de stockage MyISAM
il faut savoir la chose suivante, c'est que quand je fais les tests sur le site démo de GestSup, il n'y a aucun problème alors qu'il y en a sur mon site
donc ça ne vient pas de l'OS ou du navigateur
je pense que ça doit venir du serveur ou de mysql
Bien cordialement
Re: [Résolu] Problème d'apostrophe
Posté : mar. 15 janv. 2013 18:19
par Flox
Bonjour,
je n'arrive toujours pas à reproduire le problème sous Windows ou Linux, pouvez vous essayer de basculer votre base mysql en InnoDB et Latin_swedish_ci pour test.
Sinon essayer de mettre à niveau votre version de MySQL, ou laisser commenter les ligne de conversion, si vous n'observer pas de soucis.
Cdt
Re: [Résolu] Problème d'apostrophe
Posté : dim. 20 janv. 2013 00:23
par Larsad
Flox a écrit :Bonjour,
je n'arrive toujours pas à reproduire le problème sous Windows ou Linux, pouvez vous essayer de basculer votre base mysql en InnoDB et Latin_swedish_ci pour test.
Sinon essayer de mettre à niveau votre version de MySQL, ou laisser commenter les ligne de conversion, si vous n'observer pas de soucis.
Cdt
Bonjour,
à la première installation la BDD mysql était en InnoDB et Latin_swedish_ci
et c'est quand j'ai constaté le problème des apostrophes que j'ai converti la BDD en Mysam et utf8_general_ci
mai ça n'a pas réglé le problème
et hélas je ne peux pas mettre Mysql à niveau, car notre site est hébergé chez Hosteur (tant qu'ils n'ont pas mis à jour mysql, nous resterons à MySQL 5.0.96
nos autres sites sous joomla, spip, phpbb, cms made simple, Yacs, ne posent pas ce problème d'apostrophe (même hébergement) et avec différents éditeurs wysiwy (CKEditor,...)
Merci pour tout
Je continue de chercher une solution
Re: [Résolu mais solution provisoire] Problème d'apostrophe
Posté : sam. 26 janv. 2013 12:02
par Larsad
je n'arrive toujours pas à trouver d'où vient le problème
causes possibles élimées ;
Navigateur -> Non
Interclassement BDD -> Non
Moteur de stockage BDD -> Non
Editeur -> je ne pense pas
bref, je ne trouve toujours pas de cause possible
Re: [Résolu mais solution provisoire] Problème d'apostrophe
Posté : sam. 26 janv. 2013 16:39
par Flox
bon rester avec l'échappement de l'encodage.