Bonjour,
je voudrais remplacer dans un nom de fichier le "à" par "a " (l'espace est important). Et je n'y arrive pas. Ce n'est pas ça :, mais c'est quoi ?Code:str = str.replace(/à/g,'a ');
Version imprimable
Bonjour,
je voudrais remplacer dans un nom de fichier le "à" par "a " (l'espace est important). Et je n'y arrive pas. Ce n'est pas ça :, mais c'est quoi ?Code:str = str.replace(/à/g,'a ');
Je vois pas où est le problème… Tu as quoi dans « str » ?Code:
1
2 >>> 'bonjour àtous'.replace(/à/g, 'a ') "bonjour a tous"
En fait, ça remplace "à" par "a%20" au lieu de "a ". Voilà le problème.
ton script et ton fichier doivent être en utf8
Sinon, utilise la fonction globale decodeURIComponent.
Code:
1
2 >>> decodeURIComponent('%20') " "
;)
A quel endroit faut-il que j'utilise la fonction "decodeURIComponent", car avant d'afficher le nom du fichier, je fais ça :mais ça ne marche pas.Code:
1
2
3 str = str.replace(/à/g,'a '); file.name=str; decodeURIComponent('file.name');
Bonjour,
comme ceci :
Code:
1
2 str = str.replace(/à/g, 'a '); file.name = decodeURIComponent(str);
;)
Même comme ça, j'ai encore a%20...:(
utf8 powaaaaaaaa !
OK pour utf-8, mais donne-moi la syntaxe pour convertir le script et le fichier.
ouvre ton ficher avec notepad++
puis dans menu > encodage > convertir en utf8 sans bom
puis enregistrer...
éventuellement rajouter undans la balise scriptCode:charest="utf-8"
mettre une balise meta
Code:<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
J'avais déjà une balise meta qui convertissait en ISO-8859-1. J'ai donc remplacé par UTF-8 :mais j'avais une image qui ne s'affichait plus ; je l'ai donc ouverte avec Notepad++ et l'ai convertie, mais j'avais encore le problème d'affichage.Code:<meta content="text/html;charset= UTF-8 " http-equiv="content-type">,
Et d'autre part, impossible d'ouvrir le fichier avec Notepad++ et de le convertir, vu que c'est uun fichier de l'utilisateur, qu'il uploade. Donc, comment faire ?
tester le charset du fichier au moment de l'upload, faire un mb_convert total du fichier lors de l'upload si besoin et l'enregistrer au format utf8
@SpaceFrog
par simple curiosité, pourquoi tu mets des majuscules ? Tu utilises quel doctype ?
Perso avec XHTML 1.0 Strict :
Ou avec HTML5 :Code:<meta http-equiv="content-type" content="text/html; charset=utf-8" />
⁂Code:<meta charset="utf-8" />
@Laurent
Ton problème est vraiment bizarre. J’ai créé un fichier HTML contentant uniquement
je l’ai converti en ANSI via Notepad++, et ouvert sous cinq navigateurs différents, j’ai pas vu l’ombre d’un %20…Code:<script>alert('à'.replace(/à/, 'a '));</script>
Peux-tu nous donner :
- ton DOCTYPE,
- le charset précisé dans ton HTML,
- si ton fichier est sur un serveur, le charset envoyé par le serveur (si tu trouves),
- ce que tu vois dans la barre d’état de Notepad++ avec ton fichier,
- la façon dont tu déclares ton script
?
;)
en maj ? parceque j'ai fait un copier coller depuis google ^^
Citation:
@SpaceFrog
par simple curiosité, pourquoi tu mets des majuscules ? Tu utilises quel doctype ? J'ai mis des minuscules, mais c'est pas mieux
⁂
@Laurent
Peux-tu nous donner :
- ton DOCTYPE, <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- le charset précisé dans ton HTML, <meta content="text/html;charset=utf-8"
http-equiv="content-type">- si ton fichier est sur un serveur, le charset envoyé par le serveur (si tu trouves), ?
- ce que tu vois dans la barre d’état de Notepad++ avec ton fichier, ?
- la façon dont tu déclares ton script ?
?
;)
@SpaceFrog
:P
@Laurent
Tu utilises bien Notepad++ ?
Et ton fichier, tu le testes en local ou tu l’héberges ? Si tu passes par FTP, assure-toi que les transferts sont en mode binaire et pas ASCII.
Pour la « façon dont tu déclares ton script », je voulais parler de la balise <script> : quels attributs, à quel endroit elle est, si tu échappes le contenu avec des commentaires <!-- --> ou un section CDATA, ou pas.
Salut,
SpaceFrog et Watilin, je vous invite ici pour de plus amples informations.
oui il est clair que c'est sur la page d'upload en amont qu'il faut intervenir et mettre un charset