doku:catalyst_utf8
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
— | doku:catalyst_utf8 [2009-06-17 12:01] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Catalyst und UTF-8 ====== | ||
+ | Ziel: alles in UTF-8, damit es keine Probleme mit Umlauten gibt. | ||
+ | |||
+ | //alles zu Catalyst und Umlaute// | ||
+ | |||
+ | Siehe auch: | ||
+ | * http:// | ||
+ | |||
+ | ====== Probleme ====== | ||
+ | |||
+ | ===== Template-Toolkit (TT) ===== | ||
+ | |||
+ | Es sind zwar alle .tt Dateien in utf-8 gespeichert und im HTML-Header steht utf-8, aber die Umlaute aus den tt-Dateien werden in Latin-1 gewandelt bevor sie ausgegbene werden. | ||
+ | |||
+ | => Im Browser sind Umlaute falsch solange Encoding auf " | ||
+ | |||
+ | Ursache: offenbar liest TT die Datei als iso8859-1 ein anstatt als utf-8. | ||
+ | ==== Lösung ==== | ||
+ | |||
+ | * yum install perl-Catalyst-Plugin-Unicode | ||
+ | * lib/ | ||
+ | use Catalyst qw/-Debug | ||
+ | ConfigLoader | ||
+ | Unicode | ||
+ | Static:: | ||
+ | </ | ||
+ | * um '' | ||
+ | * Dank an: Andreas ' | ||
+ | |||
+ | ===== weitere Tipps (noch zu bearbeiten) von Andreas ' | ||
+ | |||
+ | ==== Template Toolkit Sachen sollen UTF-8 Konform rauskommen ==== | ||
+ | z.B. in MeinCatalystTeil/ | ||
+ | < | ||
+ | package MeinCatalystTeil:: | ||
+ | ... | ||
+ | use base ' | ||
+ | |||
+ | __PACKAGE__-> | ||
+ | ... | ||
+ | ENCODING => ' | ||
+ | ); | ||
+ | |||
+ | 1; | ||
+ | </ | ||
+ | |||
+ | ==== Datenbankzugriff ==== | ||
+ | |||
+ | === Model - also z.B. MeinCatalystTeil/ | ||
+ | |||
+ | < | ||
+ | package MeinCatalystTeil:: | ||
+ | ... | ||
+ | use base ' | ||
+ | |||
+ | __PACKAGE__-> | ||
+ | ..., | ||
+ | connect_info => [ | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | mysql_enable_utf8 => 1, | ||
+ | }, | ||
+ | ], | ||
+ | ); | ||
+ | |||
+ | 1; | ||
+ | </ | ||
+ | === Spalten müssen im Schema als UTF8 " | ||
+ | also z.B. MeinCatalystTeil/ | ||
+ | < | ||
+ | package MeinCatalystTeil:: | ||
+ | |||
+ | use strict; | ||
+ | use warnings; | ||
+ | |||
+ | use base ' | ||
+ | |||
+ | ... | ||
+ | |||
+ | __PACKAGE__-> | ||
+ | |||
+ | 1; | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==== UTF8 Zeichen im Quellcode oder Codepoints mit z.B. "use charnames;" | ||
+ | |||
+ | Da wir nicht mehr in der Steinzeit leben (außer natürlich cmd unter windows) gehe ich davon aus, | ||
+ | dass all meine Shells und meine Editoren UTF-8 können. | ||
+ | Wenn ich schon umbedingt im Quellcode meines Programms (z.B. Controller) einen Umlaut oder ein komisches | ||
+ | Zeichen brauche kann es nicht leiden, wenn ich z.B. statt einem einfachen " | ||
+ | ding zusammenwurschtln muss. | ||
+ | |||
+ | => wer UTF-8 Zeichen im Quellcode bvraucht sollte selbst oder im Team entscheiden, |