You are currently viewing IDERI note – Umlaute in Skripten werden nicht richtig angezeigt

IDERI note – Umlaute in Skripten werden nicht richtig angezeigt

Überblick

Wer mit den IDERI note Commandline Tools aus der CMD direkt Nachrichten versendet, sollte keine Probleme haben Umlaute korrekt darzustellen. Wer hingegen ein Skript mit Notepad erstellt und darin eine Nachricht mit Umlauten verfasst hat, wird vermutlich über das Problem gestolpert sein, dass die Umlaute und auch manche Sonderzeichen nicht korrekt dargestellt werden.
Dieser Beitrag verwendet als Beispiel die IDERI note Commandline Tools. Der Lösungsansatz kann jedoch auch bei anderen Skripten angewandt werden, bei denen es zu Problemen mit der Anzeige von Umlauten kommt.

Zum Aufzeigen des Problems erstelle ich jeweils eine Nachricht direkt in der CMD und anschließend mit einem Skript, das unter Windows mit Notepad geschrieben wurde.

 

Der Nachrichtentext soll folgenden Inhalt haben:

				
					Umlautetest:

ö Ö ä Ä ü Ü ß !

§ $ % / ( ) = ? 

´ ` ² ³ { [ ] } 

 + * # ' @ € ^ °
				
			
Der Aufruf zum Erstellen der Nachricht lautet also:
				
					"C:\Program Files (x86)\ideri\ideri Note Command Line\inotecmd.exe" "Umlautetest:\n\n ö Ö ä Ä ü Ü ß ! \n § $ % / ( ) = ? \n ´ ` ² ³ { [ ] } \n  + * # ' @ € ^ °" "+0" "+01/00" jeder INFORMATION id-dc01
				
			
Die IDERI note Commandline Tools sind hierbei auf einem Server 2012 R2 x64 Betriebssystem installiert. Die Nachricht ist ab sofort gültig und besitzt eine Gültigkeitsdauer von einer Minute. Empfänger ist die Gruppe „jeder“ und erstellt wird die Nachricht auf dem Server „id-dc01“. „n“ erzwingt einen Zeilenumbruch im Text.

Nachricht aus CMD

Schauen wir uns also an was passiert, wenn die Nachricht aus der CMD direkt erstellt wird.
Das Ergebnis ist zufriedenstellend. Alle Zeichen und Umlaute werden korrekt dargestellt.

Nachricht aus Skript

Doch versuchen wir nun den selben Aufruf aus einem Skript heraus.
Man sieht, dass ca. die Hälfte der Sonderzeichen und Umlaute nicht korrekt dargestellt werden! Doch wie kann man das nun umgehen?

Lösung

Das Problem tritt auf, da Notepad offensichtlich eine andere Codepage (Wikipedia – Zeichentabelle) verwendet als die Kommandozeile, die wiederum das Skript ausführt. Um genau zu sein verwendet die CMD die Codepage 850 und Notepad bei ANSI 1252.

 

Um die Sonderzeichen also wieder korrekt anzeigen zu lassen, muss einfach ein kleiner Befehl an den Anfang des Skripts gesetzt werden, der die zu verwendende Codepage definiert. Dieser Befehl lautet „chcp“ (Change Codepage) gefolgt von der gewünschten Codepagenummer.

 

Folglich lautet das Skript nun

				
					chcp 1252

"C:\Program Files (x86)\ideri\ideri Note Command Line\inotecmd.exe" "Umlautetest:\n\n ö Ö ä Ä ü Ü ß ! \n § $ % / ( ) = ? n ´ ` ² ³ { [ ] } \n  + * # ' @ € ^ °" "+0" "+01/00" jeder INFORMATION id-dc01
				
			
und der IDERI note Client zeigt die Sonderzeichen wieder korrekt an.

Alternative

Mit dem kostenlosen OpenSource Editor Notepad++ kann die zu verwendende Kodierung bereits vor Erstellung des Skripts eingestellt werden. So kann definiert werden, dass das Skript den gleichen Zeichensatz wie die Kommandozeile verwenden soll.

Danach sollte man allerdings den Befehl „chcp 1252“ nicht mehr im Skript verwenden, da sonst genau das gegenteilige Ergebnis erreicht wird.

 

Öffnet man jedoch das Skript anschließend im Windows Notepad, werden die Sonderzeichen aufgrund der unterschiedlichen Codepages „falsch“ angezeigt.

Obtenez de la documentation IDERI note
gratuitement dès maintenant!

Entrez simplement votre E-mail et recevez
les informations directement par courrier.

    En soumettant cette demande, vous acceptez le traitement des
    données fournies aux fins du traitement de la
    demande (Politique de confidentialité).

    Testez IDERI note gratuitement dès maintenant!
    Entrez simplement votre E-mail et
    recevez les données d'accès directement par courrier.

      En soumettant cette demande, vous acceptez le traitement des
      données fournies aux fins du traitement de la
      demande (Politique de confidentialité).

      Entrez simplement votre E-mail et le nombre de licences
      et recevez une offre sans engagement de notre part!

      [contact-form-7 404 "Nicht gefunden"]

      En soumettant cette demande, vous acceptez le traitement des
      données fournies aux fins du traitement de la
      demande (Politique de confidentialité).

      Vous souhaitez en savoir plus sur les clients IDERI note?
      Pas de problème - entrez simplement votre email et recevez
      un lien vers la page avec tous nos clients de référence.

      [contact-form-7 404 "Nicht gefunden"]

      En soumettant cette demande, vous acceptez le traitement des
      données fournies aux fins du traitement de la
      demande (Politique de confidentialité).

       

      Sie möchten die net send Alternative kostenlos einsetzen?

      Dann tragen Sie hier einfach Ihre E-Mail ein
      und erhalten Sie den Download-Zugang in Ihr Postfach!

       

        Mit dem Absenden der Anfrage erklären Sie sich mit der Verarbeitung
        der angegebenen Daten zum Zweck der Bearbeitung der Anfrage
        einverstanden (Datenschutzerklärung).

         

        Jetzt IDERI note kostenlos einsetzten!

        Kein Risiko, keine Verpflichtung -
        einfach Ihre E-Mail eintragen und den
        Download-Zugang ins Postfach erhalten.

        Mit dem Absenden der Anfrage erklären Sie sich mit der Verarbeitung
        der angegebenen Daten zum Zweck der Bearbeitung der Anfrage
        einverstanden (Datenschutzerklärung).

        Jetzt IDERI note kostenlos einsetzen!

        Einfach Ihre E-Mail eintragen und den
        Download-Zugang ins Postfach erhalten.

        Mit dem Absenden der Anfrage erklären Sie sich mit der Verarbeitung
        der angegebenen Daten zum Zweck der Bearbeitung der Anfrage einverstanden (Datenschutzerklärung).