|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Nouveau Membre du Club
![]() Inscription : avril 2006 Messages : 70 ![]() |
Bonjour,
J'ai besoin de passer des noms de fichiers avec accents par url, et j'utilise urlencode pour ce faire. Code :
J'ai donc un lien qui ressemble à ça, par exemple : Code :
Code :
J'ai essayé avec rawurlencode/rawurldecode et base64_encode/base64_decode. Ca fonctionne toujours très bien avec Firefox et pas du tout avec les autres. Que dois-je faire pour que tous les navigateurs comprennent ? |
||||||
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : juin 2007 Messages : 299 ![]() |
& si tu faisais un str_replace() ?
à par ça je vois pas... |
|
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() ![]() Inscription : janvier 2005 Messages : 2 572 ![]() |
![]() Lis la note de cette page, ça pourrait t'avancer : http://fr.php.net/urlencode PS : tes 2 echos sont vraiment vilains (particulièrement le premier, je vois pas comment il peut marcher ??) : Code :
echo '<a href="selectedimage?path='.$url_path.'&file='.$url_file.'">'.$url_file.'</a>' Code :
echo '<img src="'.$path.'/'.$file.'" alt="image introuvable" />';
__________________
Pensez au tag ![]() Les règles du Forum Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5 SQL : Cours SQL |
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : avril 2006 Messages : 70 ![]() |
Effectivement, il y avait une erreur dans le premier code que j'avais présenté. Je me suis trompé en simplifiant la ligne "echo" pour vous la présenter. J'ai corrigé l'erreur. Mes lignes "echo" sont plus compliquée que ça en vérité.
[ sinon, je trouve mon code plus lisible que le tien ]
|
|
|
00
|
|
|
#5 | |
|
Expert Confirmé
![]() ![]() Inscription : janvier 2005 Messages : 2 572 ![]() |
Citation:
__________________
Pensez au tag ![]() Les règles du Forum Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5 SQL : Cours SQL |
|
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() ![]() Inscription : mai 2006 Messages : 196 ![]() |
Euuh on va faire plus simple, oublie complètement les accents dans les URLs car les serveurs WINS(voir P.S.) ne vont pas trop aimer les accents, et généralement les navigateurs aussi n'aime pas non plus, car les accents n'étant pas utilisé dans tous les pays ils ne sont alors pas interprétés par défaut, franchement je te conseil de les oublier.
P.S. : Les serveurs WINS sont en fait des serveurs qui relient une URL à une addresse IP, par exemple quand tu entre 'www.google.fr' ou même 'google.fr' dans ton navigateur, ce dernier va alors demander à un serveur WINS l'IP associée à ce nom d'URL s'il existe et te le retourner ( en fait tous les sites du monde entier n'existe pas en tant que lettre(adresse) mais en tant qu'IP ), et généralement ces serveurs la sont sous UNIX(ou LINUX) et ne prennent pas en compte les accents (installation et administration avec l'encodage de caractère anglais, donc sans accents) donc tu risque surtout d'avoir d'énormes problèmes en mettant tes URL ou nom de fichier avec des accents Pour exemple !!! : essaye de mettre comme addresse internet http://66.102.9.99/ tu arrivera sur google, sur un serveur situé à dublin en irlande, et ce sans passer par un serveur WINS car tu entrera une addresse IP directement. Tu remarquera aussi que le chargement est beaucoup plus rapide car tu évite la requête des serveurs WINS qui te renvoye une IP et seulement après tu sera réelement connecter au site. J'espere que tu aura compris pourquoi il ne faut pas mettre d'accents dans les URL ![]() P.S. 2 : J'avoue que je connais ceci car je suis étudiant en informatique spécialité Architecture des systèmes et réseaux, sans sa j'aurai pas répondu ^^ |
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : avril 2006 Messages : 70 ![]() |
Bonjour,
Ne serait-ce pas plutôt les DNS dont tu parles là ? Et, à ma connaissance, les DNS ne s'occupent pas de répertorier le contenu des serveurs, mais traduisent seulement la racine des adresses que nous envoyons. Il n'y a bien sûr pas d'accents sur le nom du site, ni même sur les noms des répertoires. Seuls les noms de fichiers peuvent éventuellement en contenir. Je comprends cette préoccupation concernant les accents, mais en l'occurrence, le problème que je connais ne vient pas du serveur, puisque cela fonctionne avec l'un des navigateurs, Firefox. Avec exactement la même adresse encodée avec urlencode, un copier/coller dans la barre d'adresse ne donne pas le même résultat selon le navigateur : - Firefox trouve, - les autres non. Est-ce vraiment un problème de serveur ? ça ressemble plutôt à un problème de navigateur. IE et cie gèrent-ils correctement le code MIME des url ? car, que je sache, le serveur ne change pas en fonction du navigateur qu'on emploie. Enfin, les accents, j'en ai besoin ! En gros, les abandonner, ça revient à dire que les fonctions urlencode, rawurlencode, etc. ne servent à rien et qu'on ne peut pas s'en servir, alors qu'elles existent précisément pour ce genre de problèmes. PS : @ trotters tu as raison pour la rapidité, mais ce n'est pas essentiel dans mon cas, et je préfère optimiser après coup, sinon c'est difficile à modifier et je m'arrache les cheveux pour relire ce meli-melo de points, de guillemets et d'apostrophes.
|
|
|
00
|
|
|
#8 |
|
Membre confirmé
![]() ![]() Inscription : mai 2006 Messages : 196 ![]() |
Non non ce sont bien des serveurs WINS dont je parle
Sinon en fait oué j'ai dû m'emméler les pinceaux car les serveurs WINS sont comme les DNS mais ils sont utilisés lorsque tu utilise un protocol NetBios , en gros on s'en fou la xD Donc essaye de chercher des plug-ins pour les accents car certains navigateurs je pense ne prennent pas les accents par défaut. |
|
|
00
|
|
|
#9 | |
|
Nouveau Membre du Club
![]() Inscription : avril 2006 Messages : 70 ![]() |
Citation:
C'est quoi ce site pourri, où on demande ton numéro de carte bancaire et ton email pour télécharger des logiciels gratuits... ? ![]() Sinon, j'ai trouvé la solution à mon problème, sans plug-in... C'est assez étrange et ça me suggère que le MIME est géré n'importe comment, mais qu'importe... La solution consiste à ne crypter qu'une partie de l'url, celle du nom des fichiers, avec rawurlencode (ça ne marche pas avec urlencode). ça fonctionne avec Firefox (mais ce n'est pas une surprise), avec IE et Opéra. Si quelqu'un veut essayer avec Konqueror... qu'il ne se prive pas. J'ai la flemme de rebooter ma machine...
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com