gettext Zeichensatz Problem
Stella
- perl
Hi
in meiner PO Datei steht in etwa soetwas
---
msgid ""
msgstr ""
"Project-Id-Version: xxx\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-12-27 22:30+0100\n"
"PO-Revision-Date: 2007-12-28 15:14+0100\n"
"Last-Translator: yyy yyy@example.org\n"
"Language-Team: yyy yyy@example.org\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: German\n"
"X-Poedit-SourceCharset: iso-8859-1\n"
msgid "t1"
msgstr "geändert"
---
warum wird mir "geändert" ausgegeben?
Stella
Hi
in der Perl-Datei habe ich folgenden Code
#!/usr/bin/perl
use warnings;
use strict;
use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
use CGI ':standard';
use DBI;
use POSIX;
use Locale::gettext;
POSIX::setlocale(POSIX::LC_MESSAGES, 'de_DE');
my $test = Locale::gettext->domain('xxx');
$test->dir(./locale);
...
print $test->get('t1')
msgstr "geändert"
[...]
warum wird mir "geändert" ausgegeben?
Weil die Zeichensätze von Ein- und Ausgabe nicht die gleichen sind. Wie liegen die Daten vor (ISO 8859, UTF-8 usw.) und wie und wo werden sie ausgegeben?
Siechfred
msgstr "geändert"
[...]
warum wird mir "geändert" ausgegeben?Weil die Zeichensätze von Ein- und Ausgabe nicht die gleichen sind. Wie liegen die Daten vor (ISO 8859, UTF-8 usw.) und wie und wo werden sie ausgegeben?
das Perl Dokument hab ich die einstellung "Kodiere als ANSI" die Website wird als ISO-8859-1 ausgegeben (laut Opera -> ISO-8859-1 (windows-1252)).
in der mo-Datei sieht auch alles nach ISO-8859-1 aus
Stella
msgstr "geändert"
[...]
warum wird mir "geändert" ausgegeben?
...
das Perl Dokument hab ich die einstellung "Kodiere als ANSI" die Website wird als ISO-8859-1 ausgegeben (laut Opera -> ISO-8859-1 (windows-1252)).
in der mo-Datei sieht auch alles nach ISO-8859-1 aus
Das kann nicht sein, irgendwo muss bei dir was utf-8 kodiert sein. So wie das aussieht in die mo Datei.
Struppi.
msgstr "geändert"
[...]
warum wird mir "geändert" ausgegeben?
...
das Perl Dokument hab ich die einstellung "Kodiere als ANSI" die Website wird als ISO-8859-1 ausgegeben (laut Opera -> ISO-8859-1 (windows-1252)).in der mo-Datei sieht auch alles nach ISO-8859-1 aus
Das kann nicht sein, irgendwo muss bei dir was utf-8 kodiert sein. So wie das aussieht in die mo Datei.
ich hab die mo-Datei mit Notepad++ geöffnet, da seh ich keine UTF-8 Strings - das sieht alles nach ISO aus
nach etwas rumprobieren, sieht mein Code jetzt wie folgt aus
my $test = Locale::gettext->domain_raw('xxx');
$test->dir(./locale);
$test->codeset('ISO-8859-1');
so erhalte ich die Ausgabe als ISO
Stella
ich hab die mo-Datei mit Notepad++ geöffnet, da seh ich keine UTF-8 Strings - das sieht alles nach ISO aus
Was heißt sieht aus? Das steht in der Statusleiste.
Struppi.
Hi
ich hab die mo-Datei mit Notepad++ geöffnet, da seh ich keine UTF-8 Strings - das sieht alles nach ISO aus
Was heißt sieht aus? Das steht in der Statusleiste.
da steht ANSI
unter Format ist jedoch ein Häkchen bei "Kodiere als UTF-8 (ohne BOM)", wenn ich das Häkchen entfernen will, bleibt es - die Umlaute werden dann jedoch falsch dargestellt, ein erneuter Klick entfernt dann das Häkchen - die Umlaute sehen dann wieder normal aus
irgendetwas haut bei dieser Funktion nicht hin... ;-)
Stella
da steht ANSI
seltsam, bei mir steht dann da ANSI as UTF-8, wenn das Häkchen an ist.
unter Format ist jedoch ein Häkchen bei "Kodiere als UTF-8 (ohne BOM)", wenn ich das Häkchen entfernen will, bleibt es - die Umlaute werden dann jedoch falsch dargestellt, ein erneuter Klick entfernt dann das Häkchen - die Umlaute sehen dann wieder normal aus
irgendetwas haut bei dieser Funktion nicht hin... ;-)
stimmt. Aber was kann ich leider auch nicht sagen.
Struppi.