Supprimer les anti slashes avant la majuscule
18 messages
• Page 1 sur 2 • 1, 2
-

landry - WRInaute discret

- Messages: 124
- Inscription: 3 Mai 2006
Supprimer les anti slashes avant la majuscule
Bonjour,
J'ai un problème bizarre depuis un sauvegarde de la db en latin plutôt qu'en UTF-8. Quand je m'en suis aperçu, immédiatement en fait, j'ai réinjecté une sauvegarde en utf-8. Le forum s'en est bien sorti les caractères sont redevenus OK mais sur l'annuaire ça ne va pas.
Par exemple ce site :
-http://www.micro-astuce.com/annuaire/site-2524.html
Si je corrige la faute via le panneau d'admin de catégorizator elle disparait. C'est pourtant la même table de db qui gère les caractères de l'admin et ceux des personnes qui s'inscrivent sur l'annuaire.
1) Comment réparer bien sûr ?
2) Comment récupérer le coup pour tous les sites déjà inscris ?
Merci de votre lecture.
J'ai un problème bizarre depuis un sauvegarde de la db en latin plutôt qu'en UTF-8. Quand je m'en suis aperçu, immédiatement en fait, j'ai réinjecté une sauvegarde en utf-8. Le forum s'en est bien sorti les caractères sont redevenus OK mais sur l'annuaire ça ne va pas.
Par exemple ce site :
-http://www.micro-astuce.com/annuaire/site-2524.html
n\'hésitez pas à vous inscrire
Si je corrige la faute via le panneau d'admin de catégorizator elle disparait. C'est pourtant la même table de db qui gère les caractères de l'admin et ceux des personnes qui s'inscrivent sur l'annuaire.
1) Comment réparer bien sûr ?
2) Comment récupérer le coup pour tous les sites déjà inscris ?
Merci de votre lecture.
-

landry - WRInaute discret

- Messages: 124
- Inscription: 3 Mai 2006
Re: Supprimer les anti slashes avant la majuscule
Pour m'aider dans mes recherches pensez-vous que je doive essayer de trouver ce dysfonctionnement du côté de la DB ou du côté du script php.
Ce qui est déroutant c'est que quand un site s'inscrit s'il y a une apostrophe dans sa description elle sera convertie en l\'apostrophe dans la base de donnée, mais, en revanche, si depuis l'admin du site je modifie ce caractère via la page modify_site.php le caractère génant disparait, comme je l'explique au dessus.
Peux-t'on en déduire à 100% que c'est le script d'inscription qui bug ?
On pourrait penser que modify_site.php fonctionne alors que submit_site.php débloque quelque part.
NB : Pour ce qui est des anti-slaches déjà présent dans la db, j'ai essayé ce que l'on peut lire ici http://www.asp-php.net/tutorial/asp-php/glossaire.php?glossid=57 , et bien d'autres script js ou php mais rien n'y fait. Les anti-slashe présent s'accrochent à leur apostrophe comme la misère sur le pauvre monde.
Existe t-il une requête sql pour les virer dirctement depuis la base de donnée ?
Ce qui est déroutant c'est que quand un site s'inscrit s'il y a une apostrophe dans sa description elle sera convertie en l\'apostrophe dans la base de donnée, mais, en revanche, si depuis l'admin du site je modifie ce caractère via la page modify_site.php le caractère génant disparait, comme je l'explique au dessus.
Peux-t'on en déduire à 100% que c'est le script d'inscription qui bug ?
On pourrait penser que modify_site.php fonctionne alors que submit_site.php débloque quelque part.
NB : Pour ce qui est des anti-slaches déjà présent dans la db, j'ai essayé ce que l'on peut lire ici http://www.asp-php.net/tutorial/asp-php/glossaire.php?glossid=57 , et bien d'autres script js ou php mais rien n'y fait. Les anti-slashe présent s'accrochent à leur apostrophe comme la misère sur le pauvre monde.
Existe t-il une requête sql pour les virer dirctement depuis la base de donnée ?
-

landry - WRInaute discret

- Messages: 124
- Inscription: 3 Mai 2006
Re: Supprimer les anti slashes avant la majuscule
Je suis désolé de me répondre à moi même mais la fonction "Editer" n'existe pas sur ce site.
En fait c'est bon, j'ai désactivé magic_quote via le htaccess pour le répertoire concerné, je pensais pourtant que le problème venait de la db.
Donc de ce côté là c'est réglé.
Entre paranthése il est sympa ce script pour savoir si magic_quote est activé ou pas :
Source : http://www.phpsources.org/tutoriel-magicquotes.htm
Il ne me reste plus qu'à réparer la base de donnée afin d'enlever les \ devant les '.
Et là je n'utiliserai pas de requête "delete" sans l'avis de quelqu'un de bon conseil.
Merci
En fait c'est bon, j'ai désactivé magic_quote via le htaccess pour le répertoire concerné, je pensais pourtant que le problème venait de la db.
Donc de ce côté là c'est réglé.
Entre paranthése il est sympa ce script pour savoir si magic_quote est activé ou pas :
- Code: Tout sélectionner
<?php
if(get_magic_quotes_gpc())
echo "Magic quotes est activé";
else
echo "Magic quotes est désactivé";
?>
Source : http://www.phpsources.org/tutoriel-magicquotes.htm
Il ne me reste plus qu'à réparer la base de donnée afin d'enlever les \ devant les '.
Et là je n'utiliserai pas de requête "delete" sans l'avis de quelqu'un de bon conseil.
Merci
-

spout - WRInaute accro

- Messages: 4382
- Inscription: 14 Mai 2003
Re: Supprimer les anti slashes avant la majuscule
Tu as désactivé les magic quotes => c'est bien (magic quotes are evil).
Dans ta base de donnée, les \ devant les ', c'est normal il en faut au moins un.
Le problème c'est si tu en as plus: \\'
C'est surement un double antislash.
Si tu veux faire une requête SQL pr corriger tout ça, tu n'a pas de delete à faire, juste un update.
Dans ta base de donnée, les \ devant les ', c'est normal il en faut au moins un.
Le problème c'est si tu en as plus: \\'
n\'hésitez pas à vous inscrire
C'est surement un double antislash.
Si tu veux faire une requête SQL pr corriger tout ça, tu n'a pas de delete à faire, juste un update.
-

spout - WRInaute accro

- Messages: 4382
- Inscription: 14 Mai 2003
Re: Supprimer les anti slashes avant la majuscule
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_replace
Si t'es pas sûr, tu créés un autre champ temporaire pour faire le test.
Si t'es pas sûr, tu créés un autre champ temporaire pour faire le test.
-

landry - WRInaute discret

- Messages: 124
- Inscription: 3 Mai 2006
Re: Supprimer les anti slashes avant la majuscule
Non, mais je me suis mal exprimé, je veux dire une requête qui s'adresse seulment et uniquement aux anti slaches en règle générale, après j'adapterai.
Parce que y'a de tout là dedans : http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_replace
Parce que y'a de tout là dedans : http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_replace
-

Zecat - WRInaute accro

- Messages: 12003
- Inscription: 1 Mar 2005
Re: Supprimer les anti slashes avant la majuscule
Comme tu sais pas combien ont merdouillé et avec quelle ampleur (des triple slashe ...), moi je la jouerai 'bucheron' :
tu boucles sur toute la table concerné et pour les champs concernés sans pitié :
1 - un stripslashes
2 - suivi d'un addslashes
Comme ca t'es sur que le ménage est bien fait et que les caractères qui doivent avoir un \ l'ont bien.
(zecat alias zebourrin) 
PS : Vi vi Denis, je me suis mis a Mysql
depuis 1 mois ... Tout arrive, il va même peut être neiger à Marrakech 
tu boucles sur toute la table concerné et pour les champs concernés sans pitié :
1 - un stripslashes
2 - suivi d'un addslashes
Comme ca t'es sur que le ménage est bien fait et que les caractères qui doivent avoir un \ l'ont bien.
PS : Vi vi Denis, je me suis mis a Mysql
-

HawkEye - WRInaute accro

- Messages: 17013
- Inscription: 23 Fév 2004
Re: Supprimer les anti slashes avant la majuscule
S'il neige à Marrakech, je m'invite chez toi.
Pour continuer sur la lancée, une petite boucle qui va chercher les entrées contenant "//" (donc les doubles, triples, et autres uples slashes), un petit while(eregi("[/]{2,}", $string))*, un petit replace(), et un petit UPDATE... et le tour est joué
* syntaxe à vérifier
Pour continuer sur la lancée, une petite boucle qui va chercher les entrées contenant "//" (donc les doubles, triples, et autres uples slashes), un petit while(eregi("[/]{2,}", $string))*, un petit replace(), et un petit UPDATE... et le tour est joué
* syntaxe à vérifier
-

Zecat - WRInaute accro

- Messages: 12003
- Inscription: 1 Mar 2005
Re: Supprimer les anti slashes avant la majuscule
HawkEye a écrit:S'il neige à Marrakech, je m'invite chez toi.
Bon la on a encore un peu de marge (on doit etre a 26/27 à l'ombre l apres midi)
Question de PHPrank1 : pourquoi tu t'embarrase d'un while alors que le strip le fait d'un seul coup (je sais, j'ai testé par force vu le boxon que j'avais semé dans mes champs
18 messages
• Page 1 sur 2 • 1, 2
Lectures recommandées sur ce thème :
- Google propose en option un lien pour supprimer un site des résultats - 23-09-2005
- La valse des rachats de sociétés par Google en mai/juin 2007 - 06-06-2007
- Google Pack s'enrichit de 2 nouveaux logiciels gratuits - 28-03-2007
- Google change de favicon - 07-06-2008
- Comment lutter contre les mauvaises redirections 302 (temporaires) - 29-03-2005
- Google attaqué en justice - 22-10-2002
- Archive.org n'indexe plus rien depuis le 22 août 2008 ? - 19-11-2009
- Outil officiel de suppression de pages de l'index Google - 18-04-2007
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

