Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1829 connectés 

  FORUM HardWare.fr
  Windows & Software
  Win 10

  table de caractère sous Ms Dos

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

table de caractère sous Ms Dos

n°3249423
xri59
Posté le 25-09-2016 à 13:09:27  profilanswer
 

bonjour à tous
 
avec unrar je liste le contenu d un archive dans un fichier texte et ceci en mode ligne de commande sous dos
le probleme est que si un fichier ou un répertoire de l'archive possède un caractère special genre é è ou oe etc ... le caractère est simplement remplacé par un truc incompréhensible
 
savez vous comment resoudre ce pb ?
merci
 

mood
Publicité
Posté le 25-09-2016 à 13:09:27  profilanswer
 

n°3249449
Trit'
Posté le 25-09-2016 à 15:20:14  profilanswer
 

L’Invite de commandes de Windows NT (qui n’est pas l’ancien système d’exploitation MS-DOS et ne doit pas être appelée ainsi) utilise un codage des caractères différent de celui du reste du système : sur un Windows français, elle emploie l’ancienne page de codes 850 (437 sur un Windows US), alors que Windows lui-même est en Unicode (UTF-8, ou UTF-16 sur les versions extrême-orientales).

 

La Table des caractères de Windows te permet de voir quels caractères (pour la police sélectionnée dans la liste ; par défaut, c’est Arial) sont compris dans les différentes pages de codes, via la case « Avancé » en bas de sa fenêtre : tu dois avoir 3 listes qui apparaissent. La première, intitulée « Jeu de caractères » (affichant par défaut « Unicode ») doit te donner la liste des dispositions « Windows : Occidental » – la disposition ANSI des Windows non-NT (Windows 3.x et antérieurs, 95, 98 et Me) et « DOS : Europe de l’Ouest » (la page de codes 850)).

 

C’est ainsi qu’un fichier texte créé depuis l’Invite de commandes (typiquement, la sortie d’un DIR pour faire la liste des fichiers et sous-dossiers d‘un dossier donné) contiendra des erreurs d’encodage pour les caractères dit « spéciaux » (tout ce qui n’est pas contenu dans la liste des 128 premiers caractères de la primordiale table ASCII 7 bits) : l’Invite de commandes les encodera en 850, mais Windows les lira en ANSI/Unicode. Sauf que pour un même code de référence, ce n’est pas le même caractère qui est inscrit dans ces tables… On peut s’en sortir en ouvrant ces fichiers textes dans un navigateur Web et en forçant un autre décodage de caractères dans les options d’affichage (même si ça ne corrigera pas le fichier d’origine, mais à partir de là, tu copies-colles la version correctement affichée par-dessus l’original).

 

Le mieux est donc d’éviter de mélanger les usages, entre outil conçu pour un usage en ligne de commandes et un autre, conçu pour un usage en GUI depuis le Bureau de Windows.


Message édité par Trit' le 25-09-2016 à 15:21:36
n°3249470
xri59
Posté le 25-09-2016 à 19:26:14  profilanswer
 

ok merci  
pas de soluce pour mon cas alors

n°3249491
Trit'
Posté le 26-09-2016 à 00:02:44  profilanswer
 

xri59 a écrit :

ok merci  
pas de soluce pour mon cas alors


Ta procédure consiste à rediriger la sortie de la commande d’Unrar dans un fichier texte ? Ben, si, tu peux retrouver les « bons » noms : avec un éditeur de texte suffisamment avancé tel Notepad++ (une version portable, sans installation, suffira pour un usage ponctuel), tu dois pouvoir convertir vers un autre encodage.
 
Maintenant, ça ne te renommera pas les fichiers eux-mêmes, c’est sûr…

n°3249504
blazkowicz
Posté le 26-09-2016 à 08:14:12  profilanswer
 

Existe-t-il un programme windows en ligne de commande pour convertir l'encodage de caractère? dans ce cas tu pourrais faire comme ceci :  
 
unrar blah.rar | c:\chemin\programme.exe > fichier.txt  
au lieu de  
unrar l blah.rar > fichier.txt
 
Sinon, installe cygwin pour voir. Ou le "bash sous Windows 10"
(artillerie lourde : n'importe quel linux dans une VM Virtualbox..)

n°3249533
nex84
Dura lex, sed lex
Posté le 26-09-2016 à 10:13:05  profilanswer
 

Powershell est bien plus puissant que le vieux cmd.exe.
Il devrait mieux s'en sortir avec ces caractères.


---------------
#TeamNoBidouille || Come to the Dark Side, we have cookies || Mangez 5 fruits et légumes par an ! || Le digital, c'est les doigts
n°3249543
xri59
Posté le 26-09-2016 à 10:30:01  profilanswer
 

merci à vous  
 
en fait ce que je fais :
unrar pour lister le contenu de l'archive dans un fichier texte
puis je traite les informations dans le batch pour n avoir à extraire qu'un fichier de la liste
 
ca marche bien sauf pour les caractères spécifiques ....
la solution de blazkowcz pourrait peut être me servir ... je vais chercher dans cette direction

n°3249638
blazkowicz
Posté le 26-09-2016 à 21:49:35  profilanswer
 

nex84 a écrit :

Powershell est bien plus puissant que le vieux cmd.exe.
Il devrait mieux s'en sortir avec ces caractères.


 
Ca pourrait être bien mais peut-être faudrait-il une version adaptée d'unrar.

n°3249665
nex84
Dura lex, sed lex
Posté le 27-09-2016 à 09:07:23  profilanswer
 

blazkowicz a écrit :


 
Ca pourrait être bien mais peut-être faudrait-il une version adaptée d'unrar.


Il n'y a pas de rapport, powershelle est capable de lancer unrar sans problèmes.
 
En fait il faudrait savoir si le problème de caractères que tu as vient de ton environnement d'exécution (cmd.exe dans ton cas) ou de l'application (unrar).
Je suis parti du principe que unrar savait gérer ces caractères.


---------------
#TeamNoBidouille || Come to the Dark Side, we have cookies || Mangez 5 fruits et légumes par an ! || Le digital, c'est les doigts
n°3249958
xri59
Posté le 30-09-2016 à 08:32:55  profilanswer
 

a priori la reponse à ma question serait :
 
chcp 1252 à insérer en premier lieu dans mon bat
j ai essayé un echo é è ç>tmp.txt  
et ô miracle ....

mood
Publicité
Posté le 30-09-2016 à 08:32:55  profilanswer
 

n°3249959
xri59
Posté le 30-09-2016 à 08:42:15  profilanswer
 

bon en fait ca marche bien sous cette forme mais le pb vient de unrar qui malgré le chcp 1252 continu d'envoyer des caractères non chcp 1252 dans mon fichier texte ;(

n°3249960
blazkowicz
Posté le 30-09-2016 à 09:01:59  profilanswer
 

Oui, peut-être bien des caractères unicode.
 
J'ai vu ce sujet sur stackoverflow :
 
http://stackoverflow.com/questions [...] ell-prompt
 
Usage de Powershell v2, installation d'une police de caractères.

n°3249966
nex84
Dura lex, sed lex
Posté le 30-09-2016 à 09:28:46  profilanswer
 

Je pense que tu es bon pour utiliser un autre outil que unrar


---------------
#TeamNoBidouille || Come to the Dark Side, we have cookies || Mangez 5 fruits et légumes par an ! || Le digital, c'est les doigts

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Win 10

  table de caractère sous Ms Dos

 

Sujets relatifs
Format des marges d'impression d'un doc MS Word avec commentairesWin 8.1 sur table MBR
Caractère incorrect quand je renomme un fichiervirus récurrents MS direct 3D
MS Office 2007Fusionner OneDrive avec Ms Office 365 & Office pro 2016
Il me manque un Hotfix ID (MS Security Update KB3063858)Comment flasher le bios sous DOS avec win 8.1 ?
[RESOLU]Qui connaît MS Compta ? 
Plus de sujets relatifs à : table de caractère sous Ms Dos


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR