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, | ||