Si vous envoyez des messages directement à l’aide du CMD de l'outil de ligne de commande IDERI note, vous ne devriez pas rencontrer de problèmes pour afficher les bons trémas. Si vous créez un script avec le bloc note et écrivez un message avec des trémas, vous aurez probablement rencontré un problème : les trémas et certains caractères spéciaux ne s'affiches pas correctement.
Cet article utilise comme exemple l'outil de ligne de commande IDERI note. Cependant, cette approche peut également être appliquée avec d’autres scripts qui rencontrent des problèmes d’affichage de trémas.
Pour illustrer le problème, je créé un message directement via le CMD ainsi qu'un script, qui a été écrit au préalable dans Windows en utilisant le Bloc-notes.
Le texte du message doit avoir le contenu suivant :
1ö Ö ä Ä ü Ü ß !
2
3§ $ % / ( ) = ?
4
5´ ` ² ³ { [ ] }
6
7+ * # ' @ € ^ °
L'exécution pour créer le message est donc :
1"C:\Program Files (x86)\ideri\ideri Note Command Line\inotecmd.exe" "Umlautetest:\n\n ö Ö ä Ä ü Ü ß ! \n § $ % / ( ) = ? \n ´ ` ² ³ { [ ] } \n + * # ' @ € ^ °" "+0" "+01/00" jeder INFORMATION id-dc01
L'outil de ligne de commande IDERI note est installé sur un système d’exploitation serveur 2012 R2 x64. Le message est dès à présent actif et a une durée de validité d’une minute. En tant que destinataires nous avons sélectionné le groupe « tout le monde » et le message est créé sur le serveur « id-dc01 ». « N » force un saut de ligne dans le texte.
Messages à partir de CMD
Regardons à présent ce qu´il se passe, lorsqu´on créé directement les messages à partir de CMD.
Le résultat est satisfaisant. Tous les caractères et les trémas sont affichés correctement.
Message à partir d´un script
Essayons à présent avec un script.
Vous pouvez voir que près de la moitié des caractères spéciaux et des trémas ne sont pas affichés correctement ! De quelle manière résoudre cela ?
Solution
Le problème se produit car le bloc-notes utilise une page de code (Wikipedia – Zeichentabelle) différente de la ligne de commande, celle-ci a son tour exécute le script.
Pour être précis, le CMD utilise la page de code 850 et le bloc-notes ANSI 1252.
Pour afficher à nouveau correctement les caractères spéciaux, placez simplement une commande au début du script définissant la page de code à utiliser. Cette commande est « chcp » (change page de code) suivie du numéro de page de code désiré.
En conséquence, le script est désormais :
1chcp 1252
2
3"C:\Program Files (x86)\ideri\ideri Note Command Line\inotecmd.exe" "Umlautetest:\n\n ö Ö ä Ä ü Ü ß ! \n § $ % / ( ) = ? n ´ ` ² ³ { [ ] } \n + * # ' @ € ^ °" "+0" "+01/00" jeder INFORMATION id-dc01
et le client note IDERI affichera à nouveau correctement les caractères spéciaux.
Alternative
Avec l’éditeur libre Notepad ++, l’encodage à utiliser peut-être défini avant la création du script. Donc, vous pouvez définir que le script doit utiliser le même jeu de caractères que la ligne de commande.
Après cela, vous ne devez plus utiliser la commande « chcp 1252 » dans le script, sinon l´effet inverse se produira.
Si vous ouvrez par la suite le script dans le Bloc-notes Windows, les caractères spéciaux sont affichés de manière « incorrect » en raison des différentes pages de code.