honeybee
Goto Top

Powershell-Skript zur Konvertierung von deutschen Umlauten

Hallo,

ich habe eine CSV-Datei, die Umlaute beinhaltet und möchte die Inhalte konvertiert angezeigt haben. Aber die Ausgabe will mir nicht so richtig gelingen. Das Skript sieht wie folgt aus:

function Convert-Umlauts {
    param (
        [string]$Text
    )

    $characterMap = @{}
    $characterMap.([Int][Char]'ä') = "ae"  
    $characterMap.([Int][Char]'ö') = "oe"  
    $characterMap.([Int][Char]'ü') = "ue"  
    $characterMap.([Int][Char]'ß') = "ss"  
    $characterMap.([Int][Char]'Ä') = "Ae"  
    $characterMap.([Int][Char]'Ö') = "oe"  
    $characterMap.([Int][Char]'Ü') = "ue"  

    ForEach ($key in $characterMap.Keys) {
        $Text = $Text -creplace ([Char]$key),$characterMap[$key]
    }

    $Text
}


Import-Csv file.csv | ForEach-Object {
    $name = $_.name

    Convert-Umlauts "Möller"  
    $convert_name = Convert-Umlauts "$name"  
    Write-Host "$convert_name"  
}

Die Ausgabe sieht so aus (der angegebene Name ist ein Beispiel):

2022-08-26 09_49_34-remote desktop manager free [de_meissen_ ukazadmin]

Das heißt, die Funktion funktioniert. Aber die Ausgabe des Inhalts aus einer CSV-Datei ist falsch. Wie kann ich bei CSV-Dateien die Funktion aufrufen?

Content-ID: 3756803756

Url: https://administrator.de/forum/powershell-skript-zur-konvertierung-von-deutschen-umlauten-3756803756.html

Ausgedruckt am: 22.12.2024 um 06:12 Uhr

3714160434
Lösung 3714160434 26.08.2022 aktualisiert um 10:10:09 Uhr
Goto Top
Encoding Parameter der Quelldatei bei Import-CSV richtig angeben
Bsp.

Für UTF8
Import-Csv file.csv -Encoding UTF8
Fur ANSI
Import-Csv file.csv -Encoding Default
Fur Unicode
Import-Csv file.csv -Encoding Unicode
Usw.
honeybee
honeybee 26.08.2022 um 10:06:35 Uhr
Goto Top
Danke, das war's!!! Jetzt funktioniert es! face-smile