crashzero
Goto Top

Umlaute einlesen und Umlaute in Datei schreiben

Moin,

ich lesen via Get-Content ein HTML-Fragment ein welches im Inhalt deutsche Umlaute benutzt.

Dies mache ich mit mehreren Fragmente und setze diese dann schlußendlich wieder wie folgt zusammen :

Add-Content -Path "pfad\datei" -Value "Inhalt"

Nun ist es so das in der Ausgabe die Umlaute nicht enthalten sind.

Wie genau baue ich den ? Get-Content afu (Ev. ja mit -Encoding) damit korrekt eingelesen wird und beim Add-Content (ev. mit -Encoding) die Ausgabe auch korrekt mit den deutschen Umlauten erfolgt.

Probiert habe ich schon :

Get-Content -Encode "ENCODEPAGE" .....
Add-Content -Encode "ENCODEPAGE" .....

ENCODEPAGE : Unicode,Oem,Default,UTF8,UTF32
Brachte alles kein Erfolg

Content-Key: 9505641999

Url: https://administrator.de/contentid/9505641999

Printed on: May 2, 2024 at 21:05 o'clock

Member: mayho33
mayho33 Oct 10, 2023 updated at 10:42:01 (UTC)
Goto Top
Hi,

Die Suchfunktion ist dein Freund 😉😋

Schau dir mal diesen Thread an. Da geht es prinzipiell um das gleiche. Du musst PS sagen wie es den Inhalt lesen soll:
Windows Powershell: Umlaute in Dateinamen und -pfaden

Sprich, das richtige Encoding wäre wichtig. Umlaute kannst du korrekt lesen mit UTF8.
siehe MS Encoding

#bsp:
#enthaltener Text in der Datei:
#Das ist eine Datei mit Umlauten. Umlaute sind äÖÜ aich wie folgt geschrieben: ae, ue, oe

Get-Content -Path "C:\Dätei möt Ümlüten.txt" -Encoding UTF8  

Grüße
Member: Crashzero
Solution Crashzero Oct 10, 2023 at 10:41:52 (UTC)
Goto Top
Moin,
bevor ich hier was poste habe ich genau DAS vorher getan, allerdings hat keine -Encode-Angabe funktioniert.

Suchmaschine hat gesagt nimm UTF8, gesagt getan, nix .......
MS Encoding sagt, nimm ascii oder oem, nix .........................

Habs jetzt so gelöst das die Ur-Datei aus der gelesen wird im ANSI-Format vorliegt dann brauche ich kein Encoding im PS under liest anstandslos Umlaute ein und schreibt diese auch so weg.

Trotzdem Danke
Member: mayho33
mayho33 Oct 10, 2023 updated at 10:43:37 (UTC)
Goto Top
Zitat von @Crashzero:

Moin,
bevor ich hier was poste habe ich genau DAS vorher getan, allerdings hat keine -Encode-Angabe funktioniert.

Suchmaschine hat gesagt nimm UTF8, gesagt getan, nix .......
MS Encoding sagt, nimm ascii oder oem, nix .........................

Habs jetzt so gelöst das die Ur-Datei aus der gelesen wird im ANSI-Format vorliegt dann brauche ich kein Encoding im PS under liest anstandslos Umlaute ein und schreibt diese auch so weg.

Trotzdem Danke

Siehe mein Posting oben. Es geht... Auc auf Geräte mit einer anderen CodePage

falsches Format:
Get-Content -Encode "ENCODEPAGE" .....  
Add-Content -Encode "ENCODEPAGE" .....  
Member: Crashzero
Crashzero Oct 10, 2023 updated at 11:03:12 (UTC)
Goto Top
Ok, das teste ich mal, ich meine aber Umlaute welche innerhalb der Datei, also in meinem Fall stinknormale einfache HTML-Tags wo der/die User leider Text eingetragen haben die Umlaute enthalten ......

Dateiname laden der Umlaute enthält ist kein Thema.
Also sowas wie :
            <pre>Text - Ärztlicher - Rat - Text</pre>
Mitglied: 7907292512
7907292512 Oct 10, 2023 updated at 11:15:31 (UTC)
Goto Top
Viele machen unter Windows den Fehler und speichern Skripte selbst nicht als UTF8 mit Byte Order Mark (BOM). Das führt dann unter anderem zu solchen Seiteneffekten mit Umlauten wenn man die Strings im Skript verarbeitet/neu zusammensetzt/kombiniert.

Gruß sid
Member: mayho33
mayho33 Oct 10, 2023 at 12:47:20 (UTC)
Goto Top
@Crashzero: also eigentlich sollten alle UTF8-konformen Zeichen gelesen werden können mit Encoding UTF8. Dazu zählen auch "+×÷=/_<>[]!@#%%^&*()-':;,?\~|{}

Nur wenn du das als XML-Node lesen willst, solltest du es auch als XML einlesen.