Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > кодировка сгенерированного html файла


Автор: asa12 16.8.2007, 06:31
Всем доброго времени суток  smile 
Люди, пожалуйста, помогите разобраться. Написала html формочку и cgi скрипт который ее обрабатывает (считывает данные, проверяет и записывает в текстовый файл). В итоге клиенту генерится html файл в котором выдается ответ клиенту что все прошло нормально (если запись в текстовый файл прошла нормально). Я хочу чтобы сгенерированный html файл использовал кодировку utf-8, но что-то я неправильно делаю. Подскажите в чем ошибка  smile    пожалуйста
Вот как выглядит ответ:

Цитата

print header(),start_html(-Title=>"MyForm", -META=>"charset=UTF-8", -BGCOLOR=>"#BCBCBC"),
p(param('embos'),", Вас зарегистрировали"),
end_html();


Заранее спасибо.

Автор: asa12 16.8.2007, 11:16
Ну неужели никто не может помочь!!!???
Товарищи, пожалуйста, мне очень нужно!!!!!!!!!

Автор: shamber 16.8.2007, 11:37
asa12, поиском воспользуйтесб по utf8 и про Encode почитайте, может поможет. smile

Автор: asa12 16.8.2007, 12:26
Ну естесвенно прежде чем спросить я открыла книги. Там почемуто по данному вопросу нет ничего. Единсвенное что я поняла это то что я неправильно (синтаксис) указываю что надо использовать эту кодировку.

Автор: fantome 16.8.2007, 13:05
asa12, 
Цитата

Ну естесвенно прежде чем спросить я открыла книги

поиск по форуму заюзай... по перекодировке здесь уже были вопросы... 

Автор: Rigel 16.8.2007, 14:22
Цитата(asa12 @ 16.8.2007,  12:26)
Ну естесвенно прежде чем спросить я открыла книги. Там почемуто по данному вопросу нет ничего. Единсвенное что я поняла это то что я неправильно (синтаксис) указываю что надо использовать эту кодировку.

Но указать кодировку мало - нужно еще перекодировать... Посмотри http://www.koscheev.ru/articles/perl/?n=7 - здесь обратное преобразование, но модуль можно использовать тот же. Или тут: http://forum.ru-board.com/topic.cgi?forum=31&topic=3548 У меня есть код для PHP - нарыл сегодня в сети
Код

function winutf8($s)
{
    $s=str_replace("а","\xD0\xB0",$s);  $s=str_replace("А","\xD0\x90",$s);
    $s=str_replace("б","\xD0\xB1",$s);  $s=str_replace("Б","\xD0\x91",$s);
    $s=str_replace("в","\xD0\xB2",$s);  $s=str_replace("В","\xD0\x92",$s);
    $s=str_replace("г","\xD0\xB3",$s);  $s=str_replace("Г","\xD0\x93",$s);
    $s=str_replace("д","\xD0\xB4",$s);  $s=str_replace("Д","\xD0\x94",$s);
    $s=str_replace("е","\xD0\xB5",$s);  $s=str_replace("Е","\xD0\x95",$s);
    $s=str_replace("ё","\xD1\x91",$s);  $s=str_replace("Ё","\xD0\x81",$s);
    $s=str_replace("ж","\xD0\xB6",$s);  $s=str_replace("Ж","\xD0\x96",$s);
    $s=str_replace("з","\xD0\xB7",$s);  $s=str_replace("З","\xD0\x97",$s);
    $s=str_replace("и","\xD0\xB8",$s);  $s=str_replace("И","\xD0\x98",$s);
    $s=str_replace("й","\xD0\xB9",$s);  $s=str_replace("Й","\xD0\x99",$s);
    $s=str_replace("к","\xD0\xBA",$s);  $s=str_replace("К","\xD0\x9A",$s);
    $s=str_replace("л","\xD0\xBB",$s);  $s=str_replace("Л","\xD0\x9B",$s);
    $s=str_replace("м","\xD0\xBC",$s);  $s=str_replace("М","\xD0\x9C",$s);
    $s=str_replace("н","\xD0\xBD",$s);  $s=str_replace("Н","\xD0\x9D",$s);
    $s=str_replace("о","\xD0\xBE",$s);  $s=str_replace("О","\xD0\x9E",$s);
    $s=str_replace("п","\xD0\xBF",$s);  $s=str_replace("П","\xD0\x9F",$s);
    $s=str_replace("р","\xD1\x80",$s);  $s=str_replace("Р","\xD0\xA0",$s);
    $s=str_replace("с","\xD1\x81",$s);  $s=str_replace("С","\xD0\xA1",$s);
    $s=str_replace("т","\xD1\x82",$s);  $s=str_replace("Т","\xD0\xA2",$s);
    $s=str_replace("у","\xD1\x83",$s);  $s=str_replace("У","\xD0\xA3",$s);
    $s=str_replace("ф","\xD1\x84",$s);  $s=str_replace("Ф","\xD0\xA4",$s);
    $s=str_replace("х","\xD1\x85",$s);  $s=str_replace("Х","\xD0\xA5",$s);
    $s=str_replace("ц","\xD1\x86",$s);  $s=str_replace("Ц","\xD0\xA6",$s);
    $s=str_replace("ч","\xD1\x87",$s);  $s=str_replace("Ч","\xD0\xA7",$s);
    $s=str_replace("ш","\xD1\x88",$s);  $s=str_replace("Ш","\xD0\xA8",$s);
    $s=str_replace("щ","\xD1\x89",$s);  $s=str_replace("Щ","\xD0\xA9",$s);
    $s=str_replace("ъ","\xD1\x8A",$s);  $s=str_replace("Ъ","\xD0\xAA",$s);
    $s=str_replace("ы","\xD1\x8B",$s);  $s=str_replace("Ы","\xD0\xAB",$s);
    $s=str_replace("ь","\xD1\x8C",$s);  $s=str_replace("Ь","\xD0\xAC",$s);
    $s=str_replace("э","\xD1\x8D",$s);  $s=str_replace("Э","\xD0\xAD",$s);
    $s=str_replace("ю","\xD1\x8E",$s);  $s=str_replace("Ю","\xD0\xAE",$s);
    $s=str_replace("я","\xD1\x8F",$s);  $s=str_replace("Я","\xD0\xAF",$s);
    return $s;
}


. На днях буду переводить его на Perl (ну, конечно, не в таком развернутом виде). Вообще, советовал бы оставлять ICQ, для более развернутой помощи.

Автор: shamber 16.8.2007, 18:07
asa12, Вы в какой кодировке исходный файл создаете?

Автор: asa12 20.8.2007, 08:14
УРА!!!!!
Товарищи, огромное вам всем спасибо, разобралась  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)