Thread Umlaute (von ... nach ... ) (10 answers)
Opened by namenlos at 2014-08-11 15:52

payx
 2014-08-11 17:21
#176813 #176813
User since
2006-05-04
564 Artikel
BenutzerIn

user image
Hallo,

mit Perl geht es auch sehr schön, wenn man Perldoc:open richtig gebraucht.

Hinweis: Dieses Script selbst muss im UTF-8-Format gespeichert werden (entsprechende Editor-Einstellung beachten).
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/usr/bin/perl

use strict;
use warnings;

use utf8;

# Text mit Sonderzeichen
my $text = 'foo bar bär čar';

# Erzeuge Textdateien mit besonderen Encodings
open(my $isoFH, ">:encoding(iso-8859-16)", "iso_8859_16.txt") or die $!;
open(my $ibmFH, ">:encoding(ibm-852)", "ibm_852.txt") or die $!;

# Schreibe den Text mit den Sonderzeichen in die Dateien
# Hinweis: Wenn $text Zeichen enthält, die in den Zielkodierungen nicht
# erlaubt sind, kommen Fehler, versuche z.B. 'bır'.
print $isoFH $text;
print $ibmFH $text;

close $isoFH or die $!;
close $ibmFH or die $!;

# Jetzt die beiden Dateien mit den besonderen Encodings zum Lesen öffnen
# Anstelle der gerade erzeugten Dateien kannst Du natürlich auch Deine
# eigenen Quelldateien nehmen.
open($isoFH, "<:encoding(iso-8859-16)", "iso_8859_16.txt") or die $!;
open($ibmFH, "<:encoding(ibm-852)", "ibm_852.txt") or die $!;

# Und eine UTF-8-Datei zum Schreiben
open(my $uniFH, ">:encoding(utf8)", "utf8.txt") or die $!;

# Schreibe den Inhalt der beiden Spezialdateien in die UTF-8-Datei
print $uniFH "ISO:\n";
print $uniFH $_ while <$isoFH>;
print $uniFH "\nIBM:\n";
print $uniFH $_ while <$ibmFH>;

# Öffne die UTF-8-Datei in einem Editor und achte darauf, dass UTF-8
# als Kodierung eingestellt ist.
# Alle Zeichen, die es in den beiden besonderen Encodings gibt, sollten
# die Prozedur überstanden haben.

HTH
Grüße
payx

View full thread Umlaute (von ... nach ... )