web-dev-qa-db-fra.com

Caractères étranges (´╗┐) au début d'un fichier de commandes

Je travaille avec des fichiers de commandes dans Windows, en utilisant à la fois Notepad et Notepad ++. Lorsque j'exécute les fichiers de commandes, qui commencent tous par @echo off, la première ligne (exécutée sur deux ordinateurs distincts) indique ´╗┐@echo off, puis toutes les lignes REM situées en dessous s'affichent également.

J'ai essayé de changer l'encodage dans Notepad ++, mais celui-ci affirme qu'ils sont déjà en encodage UTF-8, ce qui semble être correct.

Que dois-je faire pour que ces fichiers fonctionnent correctement?

28
Canadian Luke

Il s'avère qu'il doit être réglé sur ANSI pour fonctionner correctement. Pour définir cela, j'ai choisi Encodage -> Encodé en ANSI .

Pour comprendre cela, j'ai essayé de créer un fichier de commandes à partir de la ligne de commande.

echo @echo off > batch.bat
echo REM Some comment... >> batch.bat
echo echo Hello world! >> batch.bat

J'ai ensuite ouvert ce fichier dans Notepad ++, et vérifié le codage dans le coin inférieur droit, qui indiquait ANSI comme UTF-8 . Je ne sais pas pourquoi cela ajoute ce dernier point, mais cela semble fonctionner maintenant.

8
Canadian Luke

Cela ressemble au codage DOS ASCII de la marque d'ordre d'octet pour UTF-8 (0xEF 0xBB 0xBF): http://en.wikipedia.org/wiki/Byte_order_mark

Dans Notepad ++, essayez de le coder comme "UTF-8 sans nomenclature" ou comme ASCII simple. Je pense que l'utilisation de la nomenclature pour UTF-8 est déconseillée pour cette raison, elle n'est pas exactement compatible en amont avec l'ASCII.

25
baochan