Ausgabeformat mit Sonderzeichen in UTF8?

15/07/2008 - 09:22 von Frank Glück | Report spam
Hallo zusammen,

ich habe Textdateien zu bearbeiten, in denen u.a. diese Zeichen vorhanden
sind:
"?."
Dabei ist das von Ultraedit angegebene Dateiformat je nachdem, ob das
Zeichen ? im Einzelfall tatsàchlich mit dabei ist, entweder "U8-DOS" oder
aber, falls nicht, nur "DOS". Und je nachdem, ob im Laufe der Abarbeitung
meiner Ausgangsdateien bereits solche mit dabei sind, die dieses Zeichen
enthalten oder nicht, weist auch die Ausgabedatei, angeblich entweder das
eine oder das andere Format auf. Die oben genannten Sonderzeichen sind dann
aber im Falle von "U8-DOS" nicht mehr lesbar.

Noch kurioser erscheint mir, dass dieses Format offenbar auch noch davon
abhàngt, ob die mit

open(AUSGABE, ">Ausgabe.txt");

gestartete Ausgabedatei aus dem letzten Versuchsdurchgang zuvor gelöscht
worden ist oder nicht!

Bitte verzeiht mir meine Unbedarftheit im Zusammenhang mit Codepages,
Zeichensàtzen, Octetts etc. bei Perl. Es ist für mich jedes Mal ein Buch mit
sieben Siegeln, welche Module ich einbinden und welche Funktionen ich
anwenden muss, um ein korrektes Ausgabeformat zu erhalten. Aber diesmal
komme ich mit Dingen wie

use URI::Escape;
use Encode;
use Unicode::String;
use Encode::Unicode;
use utf8;

und/ oder

$gesamttext = encode($gesamttext, $utf8);
$gesamttext = utf8::encode($gesamttext);
$gesamttext = decode("utf-8", $gesamttext);
$gesamttext = encode_utf8($gesamttext);
$gesamttext = encode("UTF-8", $gesamttext);
$gesamttext = $enc->encode($gesamttext);
binmode($gesamttext, ':utf8');

überhaupt nicht weiter ...

Mittlerweile habe ich festgestellt, dass das Format meiner Ausgabedatei
offenbar zusàtzlich auch noch davon abhàngt:
- in welchem Zeichensatz meine Perlskript-Datei abgespeichert ist und
- in welchem Zeichensatz meine zu bearbeitenden Textdateien abgespeichert
sind

Hàtte bitte irgendjemand mal ein, zwei klare Faustregeln für mich, wie ich
vorgehen sollte? Oder weiß jemand sogar direkt, was ich falsch mache?

Besten Dank und Grüße,
Frank
 

Lesen sie die antworten

#1 Frank Glück
15/07/2008 - 09:27 | Warnen spam
"Frank Glück" schrieb

Ich meinte die Zeichen mit den Dezimalwerden:
8222, 8594, 8230 und 8220

Ähnliche fragen