Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]12106[/thread]

Strings: Codierung ändern

Tags: Ähnliche Threads

Leser: 4


<< >> 7 Einträge, 1 Seite
Gast Gast
 2008-06-30 13:08
#111680 #111680
Hallo, Forum!
Ich habe hier folgendes Problem: Ich möchte die Codierung eines Strings ändern. Diesen bekomme ich aus einer externen Quelle (per ARS-Perl). Die Codierung ist (sehr wahscheinlich) latin15. Ich möchte den String in eine mysql-Datenbank mit der Feld-Codierung Latin1 schreiben und dann im Browser ausgeben. Wie kann ich das bewerkstellen?
Ich bin bei meiner Recherche bisher auf Encode und UTF-8 gestoßen, aber diese Module scheinen nur dafür gemacht zu sein den Quelltext des Skriptes zu interpretieren.
Hat vielleicht jemand einen Tip?

Viele Grüße!
renee
 2008-06-30 13:14
#111681 #111681
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Encode ist da schon das richtige Modul!
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
nepos
 2008-06-30 13:38
#111682 #111682
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Encode und Encode::Guess, zum Erkennen der Kodierung sollten reichen.
moritz
 2008-06-30 13:39
#111683 #111683
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Gast+2008-06-30 11:08:40--
Ich bin bei meiner Recherche bisher auf Encode und UTF-8 gestoßen, aber diese Module scheinen nur dafür gemacht zu sein den Quelltext des Skriptes zu interpretieren.


CPAN:Encode ist allgemein für Kodierungen zuständing, CPAN:encoding für den Quelltext des scripts (und br0ken)

Update: ach ja, CPAN:utf8 macht seine Sache besser als encoding.pm, ist aber halt nur für utf-8.
betterworld
 2008-06-30 17:28
#111698 #111698
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Fragen wir mal so: Was ist Latin15? Meinst Du ISO8859-15? Der Wikipedia-Artikel sagt zwar "It is also known as Latin-9, and unofficially as Latin-0 but not as Latin-15", aber ich wuesste nicht, was sonst gemeint sein soll.

Wenn man sich ferner die sieben geänderten Zeichen gegenüber Latin1 ansieht, stellt man imho fest, dass es einfach nicht möglich ist, das umzuwandeln. Denn die Zeichen gibt es halt entweder im einen Zeichensatz oder im anderen, aber es gibt keine Entsprechungen.
Gast Gast
 2008-07-01 14:57
#111718 #111718
Hallo!
betterworld+2008-06-30 15:28:27--
Fragen wir mal so: Was ist Latin15? Meinst Du ISO8859-15?

Tatsächlich meine ich ISO-8859-15.
betterworld+2008-06-30 15:28:27--
Wenn man sich ferner die sieben geänderten Zeichen gegenüber Latin1 ansieht, stellt man imho fest, dass es einfach nicht möglich ist, das umzuwandeln. Denn die Zeichen gibt es halt entweder im einen Zeichensatz oder im anderen, aber es gibt keine Entsprechungen.

Da hast Du recht. Das würde auch erklären, warum nach einem
Code (perl): (dl )
1
2
my $string = decode("iso-8859-15", $entries{'8'});
$entries{'8'} = encode("iso-8859-1", $string); 

die Umlaute im Broweser immer noch nicht richtig dargestelt werden. Dann muss mein Problem wo anders liegen. :-/
Ich versuche mal, ob ich herausfinden kann, ob die Codierung, die ich bekomme wirklich iso-8859-15 ist. Leider scheint man Encode::Guess nicht ganz so einfach einsetzen zu können. Wenn ich das richtig verstanden habe, ist es nicht dazu geeignet, die Latin-Zeichensätze zu unterscheiden.
Gast Gast
 2008-07-01 15:26
#111720 #111720
Da bin ich noch mal. Ich hab gerade festgestellt, dass es sich um ein Browser-Problem handelt. Wenn ich in den oben genannten Code-Zeilen nach utf-8 codiere und die Datenbank-Felder auf utf-8 einstelle, dann funktioniert es perfekt!
:-)
<< >> 7 Einträge, 1 Seite



View all threads created 2008-06-30 13:08.