Traiter les accents dans les referers Google Images


Gaëtan R.
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 311
Inscription: 26 Avr 2004

Traiter les accents dans les referers Google Images

Message le Mer Juin 13, 2007 14:28

Bonjour,

J'ai un site avec une galerie photo ; avec php j'enregistre pour chaque photo le referer Google Images et récupère le mot-clé utilisé. :wink:

Je n'ai aucun problème pour enregistrer les expressions recherchées ; seulement les caractères accentués ne sont pas traités correctement...

Exemple : on accède à une page de mon site via google images et avec le mot clé "bébé".

J'obtient donc une variable "q" qui est égale à : "b%25C3%25A9b%25C3%25A9"

Seulement, après un urldecode(), les caractères accentués ne sont pas lisibles (ça donne "b%C3%A9b%C3%A9"). C'est déjà mieux mais ça ne m'interresse pas. :(

J'ai aussi testé sans succès avec utf8_decode(), rawurldecode() et des combinaisons des 3 mais rien de concluant.

Quelqu'un aurait un piste ? J'ai vu que c'était un problème d'encodage particulier utilisé par google mais ça ne m'a pas avancé. :?

Merci à vous. :wink:

bozoleclown
WRInaute impliqué
WRInaute impliqué
 
Messages: 893
Inscription: 24 Nov 2005

Message le Mer Juin 13, 2007 16:45

essaie de faire un urldecode(urldecode("b%25C3%25A9b%25C3%25A9" ))

Si je me trompe pas, ca doit donné "bébé"


Tentative d'explication
en fait un é se traduit par %E9 mais je crois que ca concerne que le charset 8859-1
En utf8, c'est encodé comme %C3%A9. Donc j'ai un site en utf8 et quand je mets %C3%A9, il m'affiche correctement un é


Gaëtan R.
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 311
Inscription: 26 Avr 2004

Message le Mer Juin 13, 2007 17:35

Merci, c'est quasiment ça. :)

En fait, il faut rajouter un utf8_decode() en plus :
Code: Tout sélectionner
$referer = 'b%25C3%25A9b%25C3%25A9';

utf8_decode(urldecode(urldecode($referer)));


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités