Ich verwalte einige Linux-Server per SSH und nutze dabei als Editor immer Vim. Seit ein paar Wochen habe ich aber auf einem Server das Problem, dass sämtliche Sonderzeichen, die ich eintippe, zu einem sehr merkwürdigen Ergebnis führen. Auch Sonderzeichen, die schon in der Datei vorhanden sind, werden nicht korrekt dargestellt. Ich war mir ziemlich sicher, dass es ein Problem mit UTF-8 ist, da beim Löschen solcher Zeichen, jedes Byte einzeln gelöscht werden konnte. Alle Einstellungen meiner SSH Clients (egal ob Windows, Linux oder Mac), standen aber korrekt auf UTF-8.
Die einfache Lösung
Glücklicherweise findet man ja für jedes Problem eine passende Lösung. Alles was man tun muss, ist das Encoding für Vim auf UTF-8 zu stellen. Das macht man am besten in der .vimrc
Datei (entwerder in der systemweiten oder ein der eigenen). Ich habe also nur folgende Zeile einfügen müssen:
set encoding=utf-8
Jetzt werden alle Umlaute und Sonderzeichen wieder korrekt angezeigt und ich kann wieder mal schnell per SSH Änderungen an den diversen Seiten vornehmen. Ich verstehe allerdings nicht, wieso UTF-8 nicht als Standard eingestellt ist oder wieso nicht einfach das Encoding der SSH-Sitzung verwendet wird.