Bonjour,
Je m'aperçois que les caractères spéciaux, enfin français, ne passent plus dans les signatures (je suis en train de faire du ménage et des mises à jour dans mon forum).
Mais dans les messages pas de souci.
Ainsi, l'apostrophe s'écrit l'#039apostrophe.
Jusqu'à présent il n'y avait pas de souci, dans les signatures comme ailleurs.
A noter que si je réécris une signature avec une apostrophe il n'y a pas de problème d'affichage.
Mon forum est en utf-8 et c'est bien ce qui est indiqué dans mon fichier settings :
$db_character_set = 'utf8';
Je me demandais si utiliser la commande "Convertir les entités HTML au format UTF-8" dans le menu Maintenance règlerait le problème, et surtout s'il y avait un risque à l'utiliser.
Ou bien cela n'a rien à voir ? Car je vois que les entités html commencent toujours par &, ce qui n'est pas le cas de ce que j'ai ici...
C'est un forum que j'ai repris de son ancien propriétaire, qui je pense ne l'avais pas installé en utf-8 dès le départ, donc il y a sans doute des trucs qui trainent comme ces chaines de caractères pour remplacer les caractères accentués...
Bonjour,
Tu peux tenter le coup mais fais un solide backup avant car parfois on attrape des surprises de duplications.
Sinon tu fais un replace sql des caractères incorrects cela va très vite à faire.
Toujours Backup avant je ne le répéterai jamais assez :)
Merci Maximus !
OK pour la requête sql tu m'as montré l'autre jour.
Par contre c'est dans quel fichier le contenu des signatures ?
Bonjour,
UPDATE smf_members SET body = replace(signature, "xxx", "yyy");
Exemple :)
Super !
Merci Maximus, toujours bienveillant et bienfaisant, que ferait-on sans toi ?! :)
Encore moi...
Dis-moi Maximus, on est d'accord que la requête c'est :
UPDATE smf_members SET signature = replace(signature, "xxx", "yyy");
(SET signature) ?
Bonsoir,
Oui ce n'était qu'un exemple mais dans ton cas c'est :
UPDATE smf_members SET signature = replace(signature, "xxx", "yyy");
x est remplacé par y.
:)
OK merci.
Pour l'apostrophe ça a marché, par contre pour les " c'est plus compliqué :
QuoteRequête SQL :
UPDATE smf_members SET signature = replace(signature, ""quot", """)
MySQL a répondu : Documentation
#1064 - Erreur de syntaxe près de 'quot", """)' à la ligne 1
Comment je fais pour dire que je veux remplacer "quot par " ?
Car dès que " apparait dans la requete il prend ça pour une indication du contenu...
Edit : non en fait pour l'apostrophe ça ne fonctionne pas trop non plus, j'en ai encore.
J'ai demandé le remplacement de '#039 par '.
Je peux demander de supprimer #39 plutôt (en le remplaçant par rien) mais ça me semblait plus logique de partir de ce que l'on a pour arriver à ce que l'on veut.
Bonsoir,
Non moi j'ai pas de soucis de ce côté un exemple quand je fais des remplacements :
UPDATE `cpg143_pictures` SET `title` = replace(title, "é", "é");
Dans ton quot tu dois faire quoi comme remplacement exactement ?
Tu as une apostrophe dedans ?
Alors si c'est le cas tu dois utiliser des ' au lieu de " pour l'encapsuler.
:)
Voilà ce que je dois remplacer :
(en rouge ce qui doit être remplacé, en vert ce qu'on doit obtenir)
'#039 par '
& par &
nbsp par (espace)
"quot par "
Bonjour,
Rien de bien chinois :)
UPDATE smf_members SET signature = replace(signature, "'#039", "'");
UPDATE smf_members SET signature = replace(signature, "'&", "&");
UPDATE smf_members SET signature = replace(signature, "'nbsp", " ");
UPDATE smf_members SET signature = replace(signature, '"quot', '"');
:)
Merci maximus !!