Batch files et caractères accentués [Résolu/Fermé]

Signaler
Messages postés
7
Date d'inscription
lundi 14 janvier 2013
Statut
Membre
Dernière intervention
26 avril 2013
-
baldeagleseyes
Messages postés
7
Date d'inscription
lundi 14 janvier 2013
Statut
Membre
Dernière intervention
26 avril 2013
-
Bonjour,

J'ai un petit problème de batch file. Voici ce que j'ai jusqu'à maintenant:

set /P montexte=Taper du texte:
echo %montexte%>>monfichier.txt


Le problème, c'est que si l'usagé tappe des carractères accentués, ils sont remplacés par d'autres carractères dans le fichier .txt. Ce qui peut rendre le texte illisible.

qu'est-ce que je dois faire?

Merci.

3 réponses

Messages postés
7
Date d'inscription
lundi 14 janvier 2013
Statut
Membre
Dernière intervention
26 avril 2013
1
Voilà, je crois avoir trouvé...

set /P montexte=Taper du texte:
chcp 1252
echo %montexte%>>monfichier.txt
chcp 850

J'avais déjà essayé avec la commande CHCP qui change la page de code de caractéres active mais sans succès.

Par défaut la page de code dans la console (cmd.exe) est 850 et 1252 dans Windows. Donc en début de script, c'est 850, ce qui permet de faire la saisie correctement dans la commande SET. je change ensuite la page de code pour 1252. le contenu de la variable n'est pas affecté. J'exécute la commande ECHO avec la redirection ">>" . Le contenu de la variable est donc écrite dans le fichier text avec la page de code 1252. je réactive ensuite la page de code 850 pour poursuivre l' exécution du batch. Quand j'ouvre le fichier text par la suite dans BlocNote, je vois exactement ce que l'usagé a écrit
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 83171 internautes nous ont dit merci ce mois-ci

Messages postés
135
Date d'inscription
mercredi 8 février 2012
Statut
Membre
Dernière intervention
18 juillet 2013
94
Salut,
Le Batch ne gère pas les accents. Ceci est dû à la différence entre les syntaxes utilisées, tu écris des accents en ASCII, tandis que le Batch fonctionne avec le système ANSI.
La seule chose que tu peux faire, c'est ne pas écrire d'accents.
Ou alors d'écrire manuellement dans le fichier...
Messages postés
7
Date d'inscription
lundi 14 janvier 2013
Statut
Membre
Dernière intervention
26 avril 2013
1
Merci Quester4.

Le proplème c'est que je n'ai aucun contrôle sur ce que mes usagers vont écrire et c'est certain qu'ils vont mettre des accent ou autres caractères spéciaux.

Est-ce qu'il ya quelque chose que je peux mettre dans mon batch pour éliminer ces caractères avant le "echo %montexte%>>monfichier.txt"?