Stella: gettext Zeichensatz Problem

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

  1. 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')
    
  2. 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

    --
    Hinter den Kulissen passiert viel mehr, als man denkt, aber meistens nicht das, was man denkt.
    1. 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

      1. 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.

        1. 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

          1. 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.

            1. 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

              1. 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.