|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Encodage d'url [ Divers / Général ] (MadM@tt)
Informations & options pour cette discussion
|
dimanche 20 avril 2008 à 21:55:08 |
Encodage d'url

MadM@tt
|
Bonjour à tous, Voilà j'ai une table pleine d'adresses URL : les adresse URL que mon site. Par exemple si un internaute demande la page www.monsite.com/search.php?s=hello ben ça va l'ajouter à ma table. Mon problème, c'est que ma table est pleine d'url non encodée (les accents, caractères spéciaux etc... ne sont pas encodé en caractères html ou autres). Maintenant, je veux utiliser ces adresses pour générer mon sitemap. Mais si je fais un simple 'echo' de toutes ces adresses, ben ça plante : les accents (et autres caractères spéciaux) ne sont pas encodés. Que faire pour encoder une adresse, sachant que urlencode et rawurlencode vont me coder mes / ou - ou = ou & etc... en %quelque chose. C'est pas logique : urlencode on lui passe une url, et il ressort quelque chose qui n'est pas une URL, je comprend pas à quoi sert cette fonction... Moi je veux juste coder les accents et caractères spéciaux (espaces etc...), la meme chose qui se passe quand dans la barre d'adresse du navigateur on tape un accent, c'est encodé.Merci si vous avez des solutions  - MadMatt - www.choisir-une-entreprise.com
|
|
|
|
dimanche 20 avril 2008 à 23:04:58 |
Re : Encodage d'url

Evangun
|
Hello,
mettre un accent dans la barre d'url n'empêche pas de tomber sur la page normalement. Ton problème ne viendrait pas plutôt du fait que les url sont stockées en utf8 et que tu les affiches en iso, ou inversement ?
Si tu n'y arrives pas, un exemple concret de ton problème serait le bienvenu. Cecit dit et pour conclure, c'est à toi aussi de t'assurer si possible qu'il n'y a pas d'espace et de caractère spécial dans ton url.
à+
|
|
|
|
lundi 21 avril 2008 à 00:05:50 |
Re : Encodage d'url

yoman64
|
Salut, Je ne vois pas en quoi c'est illogique, si tu avais pris la peine de lire la documentation tu verrais bien que ces fonctions la ne sont pas destinés à encoder une url entière, mais une partie (par exemple un argument) afin d'éviter des problèmes ;) Voir: [ Lien ]Ensuite pour ton problème il y a deux solutions (à ma connaissance): Soit tu encode bien avec urlencode, mais après avec un str replace tu remplace les %... qui représente les slashes par un vrai slash, idem pour tous les autres chars. Sinon tu dois utiliser htmlentities qui va convertir tes accents en entitées html(et les & en &, comme ça pas de mélange d'arguments), du coup tes urls vont être correctes. Mais comme dit Evangun, dans une url on essait le plus possible de ne pas mettre d'accents ou d'espace... ------------------- Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ?? Et bien c'est la : www.e3b.org 
|
|
|
|
lundi 21 avril 2008 à 00:49:24 |
Re : Encodage d'url

MadM@tt
|
Ben j'ai regardé pour etre certain : mes tables sont en ISO, et ma page générée est en UTF8, car il s'agit de générer un sitemap, donc pour que google l'accepte il faut que ça soit un fichier XML en UTF8. Et comme les utilisateurs peuvent rechercher des mots avec des accents, ben la chaine cherchée est passée en parametre GET, donc dans l'url, donc j'ai pas trop le choix au niveau du format des adresses URL, ça peut etre n'importe quoi. Seulement comme il s'agit d'un fichier sitemap, les adresses ne doivent pas etre encodées comme dans une page web (avec htmlentitites) si je ne me trompe pas ? Pas de & ? Il faut qu'elle soient codées comme dans la barre d'adresse du navigateur ? (j'avoue que je suis un peu perdu sur ce point) En fait on peut résumer le problème comme ça : j'ai des adresses "brutes" (non encodées) et je doit les placer dans mon sitemap, comment les encoder ? (du moins y'a t'il une méthode moins "bourrine" que de faire des str_replace sur les caractères spéciaux ?) Merci ! - MadMatt - www.choisir-une-entreprise.com
|
|
|
|
lundi 21 avril 2008 à 00:57:31 |
Re : Encodage d'url

MadM@tt
|
Arf et y'a un truc que je comprend pas, c'est quand moi je fais une recherche sur le site (je vous le donne si vous voulez regarder : http://www.choisir-une-entreprise.com/annuaire.php et le sitemap : http://www.choisir-une-entreprise.com/sitemap.xml ) ben si je recherche "hé", ça va enregistrer "www.choisir-une-entreprise.com/annuaire.php?s=h%E9" dans la BDD, c'est bien. Mais pourquoi alors y'a des entrées ou les espaces sont codés, et pas les accents. Par exemple j'ai des adresses : http://www.choisir-une-entreprise.com/annuaire.php?s=énergie%20renouvelable Alors que si moi je fais la recherche ben ça m'encode bien l'accent (dans la barre de recherche du navigateur ET dans la BDD), ça vient du navigateur ça ? Merci pour votre aide - MadMatt - www.choisir-une-entreprise.com
|
|
|
|
lundi 21 avril 2008 à 01:44:02 |
Re : Encodage d'url

yoman64
|
Salut, Pour le sitemap je ne peux pas t'aider, j'en sais rien de ce qui est accepté ou pas. Pour ta deuxième question oui ça vient du navigateur, certain encode selon la RFC 1738 et d'autres non. J'ai déja remarqué ce genre d'incohérence moi aussi, c'est ça quand un navigateur respecte pas les fameux standards  Moi je ferais ça à grand coup de str_replace  Ou j'isolerais les arguments de l'url et je les encoderait un par un avant de reconstruire l'url. Mais cela dit je vais suivre ce topic avec intérêt parce qu'il est pas impossible (mais bon c'est peu probable) qu'une fonction php existe déja pour faire ça... Avant de passer ça dans ta base de données à l'avenir tu devrais passer tout tes arguments à urlencode et reconstruire ton url, ça va t'éviter ce genre de problèmes.. ------------------- Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ?? Et bien c'est la : www.e3b.org 
|
|
|
|
lundi 21 avril 2008 à 22:15:56 |
Re : Encodage d'url

MadM@tt
|
Avant de passer ça dans ta base de données à l'avenir tu devrais passer tout tes arguments à urlencode et reconstruire ton url, ça va t'éviter ce genre de problèmes.. Oui effectivement, c'est plus judicieux, mais j'avais aucune idée de cette problématique avant de réaliser ce script, donc je me suis un peu fait avoir :-p Pour ta deuxième question oui ça vient du navigateur, certain encode selon la RFC 1738 et d'autres non. J'ai déja remarqué ce genre d'incohérence moi aussi, c'est ça quand un navigateur respecte pas les fameux standards  Arf... Et y'a pas moyen de détecter l'encodage ? Bon ben je crois que ça va être plein de str_replace de partout, si quelqu'un a une meilleure idée qu'il me fasse signe Merci - MadMatt - www.choisir-une-entreprise.com
|
|
|
|
lundi 21 avril 2008 à 22:33:34 |
Re : Encodage d'url

yoman64
|
Pour infos str_replace prends en arguments des arrays, donc un seul str_replace suffierait  Mais moi ce que j'aimerais c'est d'avoir l'avis de codefalse, coucou747(tien, dans une de ses sources justement il utilisait str_replace pour ça), neigedhiver ou malalam par exemple. Cela dit je n'ose pas les "déranger" pour ça, mais je t'invite à leurs envoyés un MP, si quelqu'un à la bonne solution, c'est bien l'un d'eux  ------------------- Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ?? Et bien c'est la : www.e3b.org 
|
|
|
Cette discussion est classé dans : table, url, adresse, caractères, adresses
Répondre à ce message
Sujets en rapport avec ce message
problèmes caractères spéciaux. [ par masseur ]
Salut.Dans un de mes scripts je fait ceciecho "$url = $_GET['url']"; sachant que l'url que je passe dans mon navigateur est celle ci;http://news.searc
Adresse URL de provenance des visiteurs [ par bmag ]
Bonjour,J'ai besoin de récupérer l'adresse URL de provenance des visiteurs sur la page d'accueil de mon site.Pour cela j'ai testé $HTTP_REFERER, $_SER
Adresse IP [ par MiTcH37 ]
bijour,j'ai un visiteur sur mon site qui change tout le temps d'IP :64.68.81.14564.68.81.14064.68.81.14164.68.81.16764.68.81.19464.68.81.15164.68.81.1
Unicode ? [ par GRenard ]
YoComme tout est dans le titre, je vais rajouter quand même des précisions... Ok je connais le site officiel, mais il n'y aurais pas un moyen rapide l
garder une url defini dans la barre d'adresse [ par vsss ]
BonjourJe voudrai savoir si c'est possible de definir une Url dans la barre d'adresse, car j'ai un nom de domain www.adresse.com , mais qui change qua
récup var d'url [ par skaterboss2000 ]
bonjoursi j'ai une table comme ceci : |MA BDD| |MA TABLE| [id] [autrechamps] comment faire pour afficher le contenu de autrechamps en fonction de l'id
découper une Adresse URL [ par kangoo75 ]
Bonjour, j'aimerais savoir comment récuperer les parametres d'une URL d'une page courante ( c'est à dire la page ou je lance le script), par exemple s
recuperation d'une adresse [ par Vankiel ]
bonjour,voila j'ai besoin de recuperer ce qui ce trouve apres le '?' dans une URL pour reintegrer les valeurs des variables dans une page html.je ne p
caractères bizarres [ par ralinis ]
salut, actuellement j'ai un grand problème.j'ai une base mysql avec des tables que je rempli.Je constate que d'abord après ouverture d'une table, y a
récupérer une url aprés un url redirigé [ par pebayart ]
Bonjour tout le monde,J'ai une colle, je cherche depuis plusieurs jours et je ne trouve pas.Voilà, c'est peu être tout simple.Admettons que $url est u
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
|