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.