Leser: 1
6 Einträge, 1 Seite |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
#!perl -wt use strict; use warnings; use utf8; use bytes; use encoding 'utf8'; use Compress::Zlib; my $content; foreach ('aa'..'ZZ') { $content .= $_; } $content = Compress::Zlib::memGzip($content); my $clength = bytes::length($content); print qq~Status: 200 OK Content-Type: text/plain; charset=utf-8 Content-Length: $clength Content-Encoding: gzip $content~; 1;
burnersk+2008-09-22 09:06:41--Sobald ich ein CR ("\n") im zu kompremierenden Content habe verweigern die Browser die Anzeige mit einem "Kodierungsfehler".
Auch wenn ich mein Script in UTF8 baue (was es zum Schluss auch sein muss) verweigern die Browser aus genanten Fehler die Anzeige.
use encoding 'utf8';
1 2 3 4 5 6 7 8
use strict; use warnings; use utf8; use Encode qw(encode_utf8) binmode STDOUT; ... $content = Compress::Zlib::memGzip(encode_utf8 $content);
burnersk+2008-09-22 09:06:41--
moritz+2008-09-22 12:22:52--Wenn du sowieso 'bytes' benutzen willst, ist das vorherige Laden von 'utf8' ziemlich sinnlos. (Und wenn du nicht weisst, was die einzelnen Pragmas machen, dann benutze sie nicht).
burnersk+2008-09-22 13:17:33--moritz+2008-09-22 12:22:52--Wenn du sowieso 'bytes' benutzen willst, ist das vorherige Laden von 'utf8' ziemlich sinnlos. (Und wenn du nicht weisst, was die einzelnen Pragmas machen, dann benutze sie nicht).
???
Wenn ich in meinem Quellcode UTF-8 Zeichen habe muss ich wohl use utf8 machen!
Und wenn ich einen anständigen Length ermitteln will für die Browser, dann use bytes...
QuoteAußerdem macht use encoding 'utf8' sämtliche Variablendeklaration in UTF8. Was use utf8 nicht macht.
1
2
3
4
5
6
$ perl5.10.0 -wE ' use utf8; use bytes; say length "äöü"'
6
$ perl5.10.0 -wE ' use utf8; say length "äöü"'
3
$ perl5.10.0 -wE ' say length "äöü"'
6
6 Einträge, 1 Seite |