Hallo zusammen,
Tk804.xxx arbeitet per default mit utf-8, DBD-ODBC und DBD-mysql aber wohl noch mit Ansi. Beim Speichern von Daten in die Datenbank kommt es daher zu Problemen mit den Umlauten. Nun hab' ich gesehen, dass es ein Modul Encode gibt, mit dem man Zeichenketten von einem Zeichensatz in den anderen wandeln kann. Allerdings gibt es das Modul nur in einer tar.gz-Variante - gibt es etwas vergleichbares auch füt ActivePerl? Oder hat vielleicht jemand eine andere Idee, wie ich dem Problem Herr werden kann (derzeit arbeite ich mit einer Uraltversion von ActivePerl, in der noch Tk800.025 gebundelt war) ?
Danke Helmut
User since
2005-01-17
14788
Artikel
Admin1
Um welche Perl-Version handelt es sich denn?
Perl 5.6 macht Probleme mit UTF.
Unicode-String könnte dir vielleicht helfen.\n\n
<!--EDIT|GwenDragon|1148734813-->
User since
2003-08-04
14371
Artikel
ModeratorIn
Also Encode ist seit perl 5.7.3 ein CORE-Modul...
User since
2005-01-17
14788
Artikel
Admin1
Es gibt so einige Module für Perl 5.6, die Unicode transformieren:
Quoteppm>s Unicode
Searching in Active Repositories
1. Unicode-Collate [0.52] Unicode Collation Algorithm
2. Unicode-Collate [0.52] Unicode-Collate
3. Unicode-Collate [0.26] Unicode Collation Algorithm
4. Unicode-EastAsianWi~ [1.02] Unicode-EastAsianWidth
5. Unicode-EastAsianWi~ [1.02] East Asian Width properties
6. Unicode-IMAPUtf7 [1.04] Unicode-IMAPUtf7
7. Unicode-IMAPUtf7 [1.04] Perl extension to deal with IMAP UTF7
8. Unicode-Indic [0.01] Unicode-Indic
9. Unicode-Indic [0.01] Perl program to transliterate Indic languag~
10. Unicode-Lite [0.12] Unicode-Lite
11. Unicode-Lite [0.12] Easy conversion between encodings
12. Unicode-Lite [0.12] Easy conversion between encodings
13. Unicode-Map [0.112] maps charsets from and to utf16 unicode
14. Unicode-Map [0.112] Maps charsets from and to utf16 unicode
15. Unicode-Map [0.112] Unicode-Map
16. Unicode-Map8 [0.11] Mapping table between 8-bit chars and Unico~
17. Unicode-String [2.09] String of Unicode characters (UTF-16BE)
18. Unicode-String [2.06] String of Unicode characters (UCS2/UTF16)
19. Unicode-Transform [0.31] Unicode-Transform
20. Unicode-Transform [0.31] conversion among Unicode Transformation For~
21. Unicode-UTF8simple [1.06] Conversions to/from UTF8 from/to characters~
22. Unicode-UTF8simple [1.06] Unicode-UTF8simple
ppm>
\n\n
<!--EDIT|GwenDragon|1148735041-->
User since
2003-11-28
3645
Artikel
ModeratorIn
Da Tk804 nur mit perl5.8.x läuft, erübrigen sich alle Hinweise auf die Unicode::*-Module. Wer mit Unicode ernsthaft arbeiten möchte, braucht ein aktuelles Perl und dort ist Encode.pm schon dabei.
User since
2006-07-25
4
Artikel
BenutzerIn
Dasselbe Problem habe ich auch. Wie verwende ich dieses Encode.pm Modul??
Und wie dann weiter ?
Hätte jemand ein Beispiel ??
Ich kann mir gerade nicht so richtig vorstellen wie das funktionieren soll.
User since
2003-08-04
5246
Artikel
ModeratorIn
Encode hast du dir schon durchgelesen?
wenn ich daten nur durchreiche, verwende ich gerne from_to, z.B.
use Encode;
Encode::from_to($string, 'iso-8859-1', 'utf8');
das konvertiert den Inhalt von $string von ansi nach utf8.
User since
2003-11-28
3645
Artikel
ModeratorIn
Du möchtest aber encode und decode verwenden. Damit konvertiert man von der internen Repäsentation (die z.B. von Tk und Perl verwendet wird) in eine externe Repäsentation (ANSI = iso-8859-1 oder windows-sonstwas).