Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Powershell - csv - Sonderzeichen

Mitglied: Franz-Josef-II

Franz-Josef-II (Level 2) - Jetzt verbinden

03.10.2018, aktualisiert 12:34 Uhr, 813 Aufrufe, 8 Kommentare

Einen wunderschönen arbeitsreichen Tag

Ich bin gerade dabei csv-Dateien mittels Powershell zu vergleichen und Unterschiede bzw Gemeinsamkeiten abzuspeichern. Mein Problem dabei ist, ok sind die "fremdländischen Zeichen" Die Umlaute funktionieren, die habe ich im Griff, es geht z.B. um die "tschechischen Hatscheks", also das c mit dem Hakerl drauf oder auch andere Buchstaben die ein Apostroph drüber haben.

Ich bekomme die csv's utf8 (ohne bom), da stimmt alles. Nachdem vergleichen etc ist in der Enddatei, naja nix mehr so richtig Ich habe sowohl mit out-file also auch mit export-csv herumexperimentiert, gc und sc ....... alles was das Internet so halt geboten hat. Als Ergebnis hatte ich entweder eine utf8-bom oder eine ucs-2 le bom mit "interessanten" Werten.

Wie kann ich die Powershell dazu übereden, daß sie in die Codierung nicht eingreift oder welche andere Möglichkeiten habe ich?
Mitglied: MarkBeaker
03.10.2018 um 15:37 Uhr
Hallo,

kannst du den Code bitte posten.

Danke
Bitte warten ..
Mitglied: Kraemer
04.10.2018 um 09:08 Uhr
Moin,
Zitat von Franz-Josef-II:
Wie kann ich die Powershell dazu übereden, daß sie in die Codierung nicht eingreift oder welche andere Möglichkeiten habe ich?
die Powershell greift nicht in die Codierung ein! Sie liest die Daten ja anscheinend korrekt. Export-CSV kennt imho nur UTF8 mit BOM. Per .net solltest du eine Lösung bauen können:
01.
[IO.File]::WriteAllLines($filename, $content)
Leider verstehe ich überhaupt nicht, was "interessante Werte" und "nicht mehr so richtig" sein soll.

Gruß
Bitte warten ..
Mitglied: Franz-Josef-II
04.10.2018, aktualisiert um 13:49 Uhr
Hat jetzt ein bißchen gedauert, die Echtdaten kommen nicht so gut an, wenn ich die öffentlich .....

Also die Ursprungsdatei schaut so aus (utf8):

01.
Spalte1;Spalte2;Spalte3;Spalte4
02.
Raum303;TALIĆ;Aik;01.04.2018
03.
Raum303;Čejkoska;Maria;01.04.2018
04.
Raum303;Ünstantinoj;Gabriel;01.08.2018
05.
Raum487;Zakić;Ivanowa;01.08.2018
06.
Raum487;Červesia;Bier;01.08.2018
07.
Raum487;Bodankšić;Siegfrid;01.10.2018
08.
Raum487;Barić;Anđero;01.10.2018
09.
Raum487;Jastić;Vladimir;01.10.2018
Jetzt importiere ich die beiden zu vergleichen csv-Dateien, vergleiche sie und speichere sie ab:

01.
#Importieren
02.
$a = Import-CSV .\test.csv -Delimiter ";"
03.
$b = Import-CSV .\test2.csv -Delimiter ";"
04.

05.
# Vergleich und erstellen einer Datei
06.
Compare $a $b -Property Spalte2,Spalte3,Spalte4 -IncludeEqual -ExcludeDifferent -PassThru | select Spalte1,Spalte2,Spalte3,Spalte4 | Export-CSV .\c.csv -Delimiter ";" -NoTypeInformation
Da kommt jetzt folgendes utf8 heraus:

01.
"Spalte1";"Spalte2";"Spalte3";"Spalte4"
02.
"Raum303";"TALI?";"Aik";"01.04.2018"
03.
"Raum303";"?ejkoska";"Maria";"01.04.2018"
04.
"Raum303";"?nstantinoj";"Gabriel";"01.08.2018"
05.
"Raum487";"Zaki?";"Ivanowa";"01.08.2018"
06.
"Raum487";"?ervesia";"Bier";"01.08.2018"
07.
"Raum487";"Bodank?i?";"Siegfrid";"01.10.2018"
08.
"Raum487";"Bari?";"An?ero";"01.10.2018"
09.
"Raum487";"Jasti?";"Vladimir";"01.10.2018"
Also die Sonderzeichen werden durch Fragezeichen ersetzt.

01.
Compare $a $b -Property Spalte2,Spalte3,Spalte4 -IncludeEqual -ExcludeDifferent -PassThru | select Spalte1,Spalte2,Spalte3,Spalte4 | Out-File .\c.csv
Dann kommt das heraus (UCS-2 LE BOM):

01.
Spalte1 Spalte2     Spalte3  Spalte4   
02.
------- -------     -------  -------   
03.
Raum303 TALIĆ       Aik      01.04.2018
04.
Raum303 Čejkoska    Maria    01.04.2018
05.
Raum303 Ünstantinoj Gabriel  01.08.2018
06.
Raum487 Zakić       Ivanowa  01.08.2018
07.
Raum487 Červesia    Bier     01.08.2018
08.
Raum487 Bodankšić   Siegfrid 01.10.2018
09.
Raum487 Barić       Anđero   01.10.2018
10.
Raum487 Jastić      Vladimir 01.10.2018
Wobei ich mich jetzt ein bißchen verrannt habe, ich weiß jetzt nicht mehr, mit welchen Befehlen ich die "interessanten Zeichen" bekomme habe

Ein paar Beispiele eben dieser (es handelt sich um Namensteile, allerdings im Original sind dort keine Umlaute sondern eben die Hatscheks und Apostrophe):
01.
IĆ
02.
ÄŒej
03.
oç
04.
Ãœns
05.
ić
Bitte warten ..
Mitglied: 137289
04.10.2018, aktualisiert um 13:54 Uhr
Du gibst ja auch kein Encoding beim Im- und Export an, wie soll da die Powershell automatisch das "wirklich" passende Encoding nehmen wenn die Datei kein BOM hat .
01.
#Importieren
02.
$a = Import-CSV .\test.csv -Delimiter ";" -Encoding UTF8
03.
$b = Import-CSV .\test2.csv -Delimiter ";" -Encoding UTF8
04.

05.
# Vergleich und erstellen einer Datei
06.
Compare $a $b -Property Spalte2,Spalte3,Spalte4 -IncludeEqual -ExcludeDifferent -PassThru | select Spalte1,Spalte2,Spalte3,Spalte4 | Export-CSV .\c.csv -Delimiter ";" -NoTypeInformation -Encoding UTF8
Bitte warten ..
Mitglied: Franz-Josef-II
04.10.2018 um 14:34 Uhr
Keine Änderung Genau gleiches Verhalten
Bitte warten ..
Mitglied: 137289
04.10.2018, aktualisiert um 14:37 Uhr
Hier geht's. Wir haben deine Ausgangsdateien nicht ....
Bitte warten ..
Mitglied: Franz-Josef-II
04.10.2018 um 14:44 Uhr
Zitat von 137289:

Hier geht's. Wir haben deine Ausgangsdateien nicht ....


Stimmt.


Ich denke, ich werde alles über Bord werfen und komplett von vorne wieder anfangen (und Deinen Tipp miteinbauen) Irgendwo pfuscht mir da was drein
Die letzte Datei, ist das bei Dir eine utf8 oder eine utf8 bom?
Bitte warten ..
Mitglied: 137289
04.10.2018, aktualisiert um 16:22 Uhr
Zitat von Franz-Josef-II:
Die letzte Datei,
?? Meine Test-Dateiquelle war eine UTF-8 kodierte ohne BOM.
Die CMDLets geben immer eine Datei mit BOM aus, ist auch gut so, dann erkennen Programme auch gleich worum es geht! Willst du das nicht, s. Kommentar von Krämer, mit den .NET Methoden die Daten wegschreiben.
Bitte warten ..
Ähnliche Inhalte
Microsoft
PowerShell: CSV in CSV kopieren
gelöst Frage von PludanMicrosoft3 Kommentare

Hallo Ich bin an einem PS Skript dran der den Inhalt von CSV 1 in CSV 2 kopiert. Wie ...

Batch & Shell
Powershell in CSV
gelöst Frage von HistorikBatch & Shell6 Kommentare

Hallo zusammen, ich fange gerade mit Powershell an und bin daher noch ein Anfänger ,allerdings ich brauche ein Skript ...

Batch & Shell
Powershell xml zu csv
gelöst Frage von GeoSemBatch & Shell2 Kommentare

Hallo Dank einem Beitrag bin ich weiter gekommen ;-) Leider habe ich mit powershell keine Erfahrung - so habe ...

Batch & Shell
Powershell - csv - UPN erzeugen
gelöst Frage von Franz-Josef-IIBatch & Shell4 Kommentare

Guten Morgen Ausgangslage: Eine csv-Datei mit vorname, nachname und abteilung. Ziel: Die User sollen in Office365 angelegt werden. Hiezu ...

Neue Wissensbeiträge
Netzwerkmanagement

Neue Angebotsmail ist raus: 10 Prozent auf alle Docusnap Lizenzen

Information von Frank vor 7 StundenNetzwerkmanagement

Hallo IT-Pros, unsere Angebotsmail ist raus: Exklusive für unsere Administrator.de-Mitglieder gibt es heute auf alle Miet- und Kauflizenzen von ...

Windows 10
Windows 10 Mai 2019 Update (Version 1903) ist da
Information von kgborn vor 10 StundenWindows 102 Kommentare

Nur ein kurzer Infosplitter: Microsoft hat die Nacht (21. Mai 2019) das Funktionsupdate auf Windows 10 Version 1903 freigegeben. ...

E-Mail

Newsletter: Unread News - IT News in Byte Länge

Tipp von franktaylor vor 22 StundenE-Mail9 Kommentare

Hallo, würde gerne auf einen Newsletter hinweisen, den ich heute per Zufall gefunden und mit euch gerne teilen möchte: ...

Outlook & Mail

Outlook 2016 stürzt ab, wenn man ein (at)- Zeichen im Text einer neuen E-Mail schreibt

Tipp von Enriqe vor 1 TagOutlook & Mail4 Kommentare

Bei uns in der Firma häuften sich die Fälle, bei denen sich Outlook kommentarlos verabschiedet, wenn man ein - ...

Heiß diskutierte Inhalte
DNS
DNS fragt falsche ip zuerst ab
gelöst Frage von recoldDNS23 Kommentare

Hallo zusammen, wollte mal fragen, was mit meiner DNS falsch ist? der A eintrag 88.48.118.88 sollte auf den ts3 ...

Windows Server
Passwortänderung an RODC möglich?
Frage von DexthaWindows Server23 Kommentare

Hallo, ich habe einen RODC, auf welchen ich über ldaps (Web-Seite mit php7) Passwortänderungen durchführen möchte. Ist das grundsätzlich ...

Windows Server
Ungewollte IP Änderung am DC sorgt für Probleme
Frage von thomas-99Windows Server19 Kommentare

Hallo Zusammen, wir haben ein kleines Netz mit 5 verschiedenen VMs (DC, AD, Fileserver, Exchange, TK Anlage - alle ...

Windows Server
RDP als Citrix Alternative
gelöst Frage von samreinWindows Server19 Kommentare

Hallo zusammen, ich bin neu hier und das ist mein erster Beitrag. Ich bin Einzeladmin und wir setzen bei ...