Forum Webscript.Ru

Программирование => Perl => Тема начата: Forza от 28 Сентября 2004, 18:56:11

Название: вывод символов через коды типа я
Отправлено: Forza от 28 Сентября 2004, 18:56:11
Предположим, я хочу вывести букву "я" через её код "& #1103;". При выводе кода в обыкновенном тексте - всё ок, при передаче строки с кодом в качестве параметра какой-либо функции в рез-те выводится этот же код:
#!c:/perl/bin/perl

use CGI qw(-no_xhtml :standard);

print header(), start_html();

print "я"; #напечатает букву "я"

print checkbox_group (-values => [ "я"]); #напечатает "я"

print end_html();
Это как-нибудь можно побороть?
Название: вывод символов через коды типа я
Отправлено: glebushka от 28 Сентября 2004, 19:35:57
Forza, не совсем понятно, что ты там хочешь увидеть...
print "я";
печатает тоже я Посмотри исходник страницы. А вот брауцзер эту последовательность изображет как букву я.
Название: вывод символов через коды типа я
Отправлено: Forza от 28 Сентября 2004, 19:52:18
Я в обоих случаях на экране броузера хочу видеть букву "я", т.е. в хтмл-коде будет "& #1103;". В случае print "& #1103;" так и будет.
А если передавать через функцию, модуль Перла CGI.pm считает себя умным, думает, что я хочу вывести именно эти символы, и в хтмл-коде получается "& amp;#1103;", а на экране "& #1103;".

(везде после амперсандов пробелов быть недолжно),
Название: вывод символов через коды типа я
Отправлено: arto от 29 Сентября 2004, 05:17:50
# perl -MCGI -e \'print CGI->new->span("я");\'
я
#
Название: вывод символов через коды типа я
Отправлено: Forza от 29 Сентября 2004, 12:00:03
Цитировать
arto:
-MCGI -e

Дело что ли в этих ключах? И как их использовать? Если их добавлять в конец строки #!c:/perl/bin/perl, то Перл всегда пишет ошибку компиляции, добавляю я оба или какой-либо один из них.
Название: вывод символов через коды типа я
Отправлено: arto от 29 Сентября 2004, 12:42:32
perldoc perlrun
Название: вывод символов через коды типа я
Отправлено: Forza от 29 Сентября 2004, 12:57:29
Правильный ответ оказался autoEscape(0);