How to – PowerShell – Import-CSV – Umlaute

Wenn Sie über die PowerShell mit Import-CSV eine Datei importieren, werden die Umlaute unter Umständen nicht richtig dargestellt. Das liegt in der entsprechenden Kodierung begründet.
CSV (Comma-Seperated Values) Dateien werden als Textdateien gespeichert. Das bedeutet, diese Dateien werden mit einer Codierung versehen, die dann mit einem einfachen Texteditor (unabhängig vom Betriebssystem) gelesen werden kann. Das Gegenstück dazu sind Binärdateien, für die man entsprechende Programme zur Bearbeitung braucht. Beispielsweise Excel für eine XLSX Datei.
Wenn nun als Kodierung der ASCII Code verwendet wurde, sind z.B. Darstellungen der deutschen Umlaute nicht möglich. Der ASCII Code verwendet einen 7-Bit Zeichensatz, wohingegen UTF-8 8 Bit für den Zeichensatz verwendet und somit die Möglichkeiten der Zeichen erhöht.

Wenn beim Einlesen einer Datei mit Import-CSV die Umlaute als kryptische Zeichen dargestellt werden, liegt das vermutlich an der Verwendung der ASCII Kodierung.. Eine einfache Lösung des Problems ist, die Daten einzulesen und mit UTF-8 Kodierung wieder abzuspeichern.


Beispiel

$File = Umlaute.csv
$NewFile = Umlaute2.csv
Type $file -Encoding:String |Out-File $NewFile -Encoding UTF8


Nun können Sie die Umlaute2.csv Datei mit Import-csv importieren und erhalten auch die gewünschten Umlaute darstellbar.