Hallo
Ich möchte Auszüge aus einer csv-Textdatei (utf-8) in Seaside anzeigen und habe Probleme bei der Anzeige von Umlauten. Das Einlesen mittels FileStream readOnlyFileNamed: aFile und das anschliessende Parsen (findTokens: escapedBy:) funktioniert prima. Wenn ich aber in renderContentOn: die Daten ausgebe (der Browser steht auf utf-8) sehe ich keine Umlaute. Seltsamerweise erscheinen sie, wenn ich im Browser auf iso-8859-1 wechsle. Dabei war das Original-File utf-8 und in Squeak (im Explorer) sehe ich auch die Umlaute. Muss ich vor der Ausgabe irgendwo noch einmal konvertieren? Brauche ich asWideString? Für die Ausgabe benutze ich html text: myText Kann jemand helfen? Frohe Weihnachten Enno |
On Mon, 24 Dec 2007 01:11:05 +0100
Enno Schwass <[hidden email]> wrote: > Wenn ich aber in renderContentOn: die Daten ausgebe (der > Browser steht auf utf-8) sehe ich keine Umlaute. Was behauptet die HTML-Datei, für eine Codierung zu verwenden? > Seltsamerweise erscheinen sie, wenn ich im Browser auf > iso-8859-1 wechsle. Spricht dafür, dass die Zeichen tatsächlich mit ISO-8859-1 codiert sind. Steht dein Browser auf Automatik oder hast du eine Codierung fest eingestellt? > Dabei war das Original-File utf-8 und in > Squeak (im Explorer) sehe ich auch die Umlaute. Muss ich vor > der Ausgabe irgendwo noch einmal konvertieren? Brauche ich > asWideString? Für die Ausgabe benutze ich html text: myText > s. |
Moin
>> Wenn ich aber in renderContentOn: die Daten ausgebe (der >> Browser steht auf utf-8) sehe ich keine Umlaute. > Was behauptet die HTML-Datei, für eine Codierung zu verwenden? Das steht in der generierten Seite: <meta http-equiv="Content-Type" content="text/html;charset=utf-8; charset=utf-8"/><meta http-equiv="Content-Script-Type" content="text/ javascript"/> >> Seltsamerweise erscheinen sie, wenn ich im Browser auf >> iso-8859-1 wechsle. > Spricht dafür, dass die Zeichen tatsächlich mit ISO-8859-1 > codiert sind. Steht dein Browser auf Automatik oder hast du > eine Codierung fest eingestellt? Firefox auf utf-8, Safari auf Automatik (was auch utf-8 sein sollte) >> Dabei war das Original-File utf-8 und in >> Squeak (im Explorer) sehe ich auch die Umlaute. Muss ich vor >> der Ausgabe irgendwo noch einmal konvertieren? Brauche ich >> asWideString? Für die Ausgabe benutze ich html text: myText Also selbst html text: (WideString fromString: 'ÜÖÄ'). gibt Fragezeichen aus. Ist das nur auf dem Mac so? Kann das mal jemand unter Windows probieren? Bis dann Enno |
Hallo Enno,
ich vermute du hast den Standard WAKom Webserver laufen. Von daher probier bitte mal folgendes: WAKom Stop. WAKomEncoded39 startOn: 8080. (Oder deinen Port den du spezifiziert hast) Das sollte beim Web Server das Encoding einschalten. Mit freundlichen Grüßen Micha > -----Ursprüngliche Nachricht----- > Von: [hidden email] [mailto:squeak-ev- > [hidden email]] Im Auftrag von Enno Schwass > Gesendet: Montag, 24. Dezember 2007 09:03 > An: Squeak in Germany / Squeak in Deutschland > Betreff: Re: [Squeak-ev] Umlaute > > Moin > > >> Wenn ich aber in renderContentOn: die Daten ausgebe (der > >> Browser steht auf utf-8) sehe ich keine Umlaute. > > Was behauptet die HTML-Datei, für eine Codierung zu verwenden? > > Das steht in der generierten Seite: > > <meta http-equiv="Content-Type" content="text/html;charset=utf-8; > charset=utf-8"/><meta http-equiv="Content-Script-Type" content="text/ > javascript"/> > > >> Seltsamerweise erscheinen sie, wenn ich im Browser auf > >> iso-8859-1 wechsle. > > Spricht dafür, dass die Zeichen tatsächlich mit ISO-8859-1 > > codiert sind. Steht dein Browser auf Automatik oder hast du > > eine Codierung fest eingestellt? > > Firefox auf utf-8, Safari auf Automatik (was auch utf-8 sein sollte) > > >> Dabei war das Original-File utf-8 und in > >> Squeak (im Explorer) sehe ich auch die Umlaute. Muss ich vor > >> der Ausgabe irgendwo noch einmal konvertieren? Brauche ich > >> asWideString? Für die Ausgabe benutze ich html text: myText > > Also selbst > > html text: (WideString fromString: 'ÜÖÄ'). > > gibt Fragezeichen aus. Ist das nur auf dem Mac so? > Kann das mal jemand unter Windows probieren? > > Bis dann > Enno= |
In reply to this post by Enno Schwass
2007/12/24, Enno Schwass <[hidden email]>:
> Hallo > > Ich möchte Auszüge aus einer csv-Textdatei (utf-8) in Seaside > anzeigen und > habe Probleme bei der Anzeige von Umlauten. Für solche Fragen die Seaside Liste: http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > Das Einlesen mittels FileStream readOnlyFileNamed: aFile und das > anschliessende Parsen (findTokens: escapedBy:) funktioniert prima. > > Wenn ich aber in renderContentOn: die Daten ausgebe (der Browser > steht auf utf-8) > sehe ich keine Umlaute. Seltsamerweise erscheinen sie, wenn ich im > Browser auf > iso-8859-1 wechsle. Dabei war das Original-File utf-8 und in Squeak > (im Explorer) sehe ich > auch die Umlaute. Squeak nahm also Konvertierung von utf-8 zu Squeak encoding automatisch for. Aus dem restlichen Beschreib deines Problems gehe ich davon aus, das du WAKom und nicht WAKomEncoded(39) verwendest. Mit WAKomEncoded(39) sollten die Daten im Browser richtig erscheinen. Welche Version du verwenden musst hängt leider nicht nur von deiner Squeak version, sondern auf von deiner KomHttpSever version ab. Wenn du von WAKom auf WAKomEncoded(39) wechselst liefert dir Seaside alle Strings als Strings mit Squeak encoding (ein character entspriche einem WideCharacter) erwartet im Gegenzug aber auch, dass du alle Strings in Squeak encoding lieferst. Das betrifft auch allenfalls bestehende Daten. Wenn du das nicht willst und weiter WAKom verwenden willst musst du die Daten nach utf-8 konvertieren entweder mit: convertToWithConverter: UTF8TextConverter new oder auf dem stream converter: Latin1TextConverter new (ja das ist richtig, Latin1) > Muss ich vor der Ausgabe irgendwo noch einmal > konvertieren? > Brauche ich asWideString? #asWideString bringt bei einem Latin1 String rein gar nichts. > Für die Ausgabe benutze ich html text: myText Das ist korrekt. Gruss Philippe > Kann jemand helfen? > > Frohe Weihnachten > Enno > > |
In reply to this post by Enno Schwass
Hallo Michael
> ich vermute du hast den Standard WAKom Webserver laufen. Von daher > probier > bitte mal folgendes: > WAKom Stop. > WAKomEncoded39 startOn: 8080. (Oder deinen Port den du spezifiziert > hast) > Das sollte beim Web Server das Encoding einschalten. Sauber. Das passt! Frohe Weihnachten Enno |
In reply to this post by Philippe Marschall
Moin
>> Ich möchte Auszüge aus einer csv-Textdatei (utf-8) in Seaside >> anzeigen und >> habe Probleme bei der Anzeige von Umlauten. > Für solche Fragen die Seaside Liste: > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside Die Liste lese ich zwar, aber Newbie-Fragen sind vielleicht besser hier aufgehoben. > Squeak nahm also Konvertierung von utf-8 zu Squeak encoding > automatisch for. Aus dem restlichen Beschreib deines Problems gehe ich > davon aus, das du WAKom und nicht WAKomEncoded(39) verwendest. Mit > WAKomEncoded(39) sollten die Daten im Browser richtig erscheinen. > Welche Version du verwenden musst hängt leider nicht nur von deiner > Squeak version, sondern auf von deiner KomHttpSever version ab. > Wenn du von WAKom auf WAKomEncoded(39) wechselst liefert dir Seaside > alle Strings als Strings mit Squeak encoding (ein character entspriche > einem WideCharacter) erwartet im Gegenzug aber auch, dass du alle > Strings in Squeak encoding lieferst. Das betrifft auch allenfalls > bestehende Daten. > Wenn du das nicht willst und weiter WAKom verwenden willst musst du > die Daten nach utf-8 konvertieren entweder mit: > convertToWithConverter: UTF8TextConverter new > oder auf dem stream > converter: Latin1TextConverter new > (ja das ist richtig, Latin1) >> Muss ich vor der Ausgabe irgendwo noch einmal >> konvertieren? >> Brauche ich asWideString? > #asWideString bringt bei einem Latin1 String rein gar nichts. Wenn ich dich richtig verstehe, ist das interne Squeak-Encoding latin-1. Das erklärt die Ausgabe. Ich dachte irrtümlich Squeak wurde irgendwann von MacRoman auf utf-8 umgestellt. Da es mit WAKomEncoded39 funktioniert, werde ich nicht weiter konvertieren. Besten Dank Enno |
Am 24.12.07 schrieb Enno Schwass <[hidden email]>:
> Moin > > >> Ich möchte Auszüge aus einer csv-Textdatei (utf-8) in Seaside > >> anzeigen und > >> habe Probleme bei der Anzeige von Umlauten. > > Für solche Fragen die Seaside Liste: > > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > Die Liste lese ich zwar, aber Newbie-Fragen sind vielleicht besser hier > aufgehoben. > > > Squeak nahm also Konvertierung von utf-8 zu Squeak encoding > > automatisch for. Aus dem restlichen Beschreib deines Problems gehe ich > > davon aus, das du WAKom und nicht WAKomEncoded(39) verwendest. Mit > > WAKomEncoded(39) sollten die Daten im Browser richtig erscheinen. > > Welche Version du verwenden musst hängt leider nicht nur von deiner > > Squeak version, sondern auf von deiner KomHttpSever version ab. > > Wenn du von WAKom auf WAKomEncoded(39) wechselst liefert dir Seaside > > alle Strings als Strings mit Squeak encoding (ein character entspriche > > einem WideCharacter) erwartet im Gegenzug aber auch, dass du alle > > Strings in Squeak encoding lieferst. Das betrifft auch allenfalls > > bestehende Daten. > > Wenn du das nicht willst und weiter WAKom verwenden willst musst du > > die Daten nach utf-8 konvertieren entweder mit: > > convertToWithConverter: UTF8TextConverter new > > oder auf dem stream > > converter: Latin1TextConverter new > > (ja das ist richtig, Latin1) > >> Muss ich vor der Ausgabe irgendwo noch einmal > >> konvertieren? > >> Brauche ich asWideString? > > #asWideString bringt bei einem Latin1 String rein gar nichts. > > Wenn ich dich richtig verstehe, ist das interne Squeak-Encoding latin-1. Nein, Squeak ab 3.8 verwendet intern "erweitertes" Unicode. Da Unicode aber ein superset von Latin1 ist bemerkst du für latin-1 keinen Unterschied. > Das erklärt die Ausgabe. Ich dachte irrtümlich Squeak wurde irgendwann > von MacRoman auf utf-8 umgestellt. Ja, aber nur für manche "externe" Sachen wie .changes files. Gruss Philippe > Da es mit WAKomEncoded39 funktioniert, werde ich nicht weiter > konvertieren. > > Besten Dank > Enno |
Free forum by Nabble | Edit this page |