Accueil > Forum > > > > Encodage d'url
Encodage d'url
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ée 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
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
CHAMPS TIMECHAMPS TIME par vargas
Cliquez pour lire la suite par vargas
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|