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.
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
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...
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"?