CGI: charset
Honza Pazdziora
adelton na informatics.muni.cz
Pátek Červen 13 18:32:46 MEST 2003
On Fri, Jun 13, 2003 at 04:24:47PM +0200, Jiri Polcar wrote:
>
> use strict;
> use CGI qw( :standard );
> my $cgi = new CGI;
> print $cgi->header( -charset => 'ISO-8859-2');
> print $cgi->start_html( -title => 'Toto je title' );
> print 'ěščřžýáíéťůúé';
> print '</HTML>';
>
>
> kdyz ho pustim z prikazove radky, tak vrati:
>
> ---cite---
> Content-Type: text/html; charset=ISO-8859-2
Čili HTTP hlavička je v pořádku, zato ale ...
> <?xml version="1.0" encoding="utf-8"?>
neodpovídá encoding zde. Je taky divné, kde se tady vzalo utf-8,
protože i nejnovější verze CGI.pm má jako default iso-8859-1.
Každopádně bych navrhoval začít sjednocením těch dvou údajů, tedy
přidat do toho volání start_html parametr
> <!DOCTYPE html
> PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
> "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
> <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"><head><title>TAF
> decoder</title>
> </head><body>ěščřžýáíéťůúé</HTML>
> ---cite---
>
> a kdyz ho necham interpretovat apachem a zpbrazim source v prohlizeci,
> tak dostanu:
>
> ---cite---
> <?xml version="1.0" encoding="utf-8"?>
> <!DOCTYPE html
> PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
> "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
> <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US"><head><title>TAF
> decoder</title>
> </head><body>ěščřžýáíéťůúé</html>
> ---cite---
>
> Kazdopadne, prohlizec dokumetn zobrazi v ISO-8859-1. Otazka zni, jak
> zaridit, aby se v hlavicce objevilo neco jako:
>
> <meta CHARSET="iso-8859-2">
No, sice byste mohl ještě nacpat do toho XHTML dokumentu nějaké META
elementy, ale myslím, že bude bohatě stačit, když sjednotíte údaje,
které už o tom dokumentu posíláte.
--
------------------------------------------------------------------------
Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
.project: Perl, mod_perl, DBI, Oracle, auth. WWW servers, XML/XSL, ...
Only self-confident people can be simple.
Další informace o konferenci Perl