Batch files et caractères accentués

Résolu
baldeagleseyes Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
baldeagleseyes Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
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.
A voir également:

3 réponses

baldeagleseyes Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   3
 
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
2
baldeagleseyes Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   3
 
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"?
1
Quester4 Messages postés 136 Date d'inscription   Statut Membre Dernière intervention  
 
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...
0