Traiter les accents dans les referers Google Images

Gaëtan R.

WRInaute discret
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é
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 discret
Merci, c'est quasiment ça. :)

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

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

Discussions similaires

Haut