[Résolu] Bug d'IE avec les caractères accentués.

Bug d'IE avec les caractères accentués. [Résolu] - HTML/CSS - Programmation

Marsh Posté le 10-07-2006 à 15:35:21    

Bonjour à tous.
 
J'ai un petit souci assez génant : pour faire simple, un utilisateur peut uploader sur un serveur des fichiers audio. Les noms de ces fichiers peuvent contenir des caractères accentués.
Ensuite, une page en html javascript permet de faire le choix d'un fichier dans un ascenseur, on clique sur ecouter, et j'ouvre un popup avec comme URL le nom du fichier. Du coup le navigateur charge le fichier et l'ouvre avec le plugin's adequat.
 
Ca marche bien avec TOUS les navigateurs, sauf IE. En effet, quand les navigateurs envoient la requete vers le serveur, ils convertissent les caractères accentués en %xx, xx etant la valeur hexa du code ascii du caractere accentué.
Par exemple si j'appelle l'url /Att_démo.wav, dans mes logs apache ca me donne :  
"GET /Att_d%E9mo.wav HTTP/1.1"
Et tout fonctionne bien.
Mais avec IE, ça me donne ca :
"GET /Att_d%C3%A9mo.wav HTTP/1.1"
Avec donc un 404 not found a la suite....
 
Donc mon idée, c'est de faire la conversion des caracteres accentués moi meme dans ma page, en javascript, afin d'eviter que ca soit IE qui fasse la conversion...
 
Existe t-il une fonction toute faite ?
Merci a tous
 
Cyril


Message édité par nlc le 10-07-2006 à 16:27:02
Reply

Marsh Posté le 10-07-2006 à 15:35:21   

Reply

Marsh Posté le 10-07-2006 à 15:43:49    

tu vires les accents sur les noms de fichiers [:spamafote]

Reply

Marsh Posté le 10-07-2006 à 16:01:26    

hehe, il n'y aurait que moi.....c'est ce que je ferais. Mais malheureusement je ne peux pas :(
Je pensais avoir trouvé l'astuce a l'instant, avec la fonction escape() en javascript. Je passe le nom du fichier dedans, et il la convertit comme il faut, Att_démo.wav devient /Att_d%E9mo.wav.
 
Mais à present, quand mon popup s'ouvre, c'est firefox qui coince !!!! J'ahallucine !! Le popup est bloqué avec le sablier, et aucune requete n'est envoyée par le navigateur !! Grr...

Reply

Marsh Posté le 10-07-2006 à 16:05:37    

problème d'encoding je pense. un é qui se transforme en 2 caractères étendus, ça sent le IE qui traîte de l'utf-8, alors que les autres utilisent le iso-machin ou le windows-machin
 
t'as bien spécifié l'encoding dans ta page ? le fichier est bien enregistré sur le disque en utilisant cet encoding ?


Message édité par Arjuna le 10-07-2006 à 16:06:09
Reply

Marsh Posté le 10-07-2006 à 16:16:19    

Ah tiens non, il n'y a rien de spécifié dans l'entete de la page. Je vais jeter un oeil pour voir si ca change quelque chose

Reply

Marsh Posté le 10-07-2006 à 16:19:02    

J'ai ca dans les entete du fichier html/javascript qui genere donc l'url du fichier audio a ecouter : <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">

Reply

Marsh Posté le 10-07-2006 à 16:26:34    

Bon ben c'est bon, en fait ca marche bien avec la fonction encode().
J'ai coupé puis relancé Firefox et ca marche bien. Et sous IE aussi, c'est niquel !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed