Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> русский текст 
:(
    Опции темы
noder
Дата 26.8.2004, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 18.8.2004

Репутация: нет
Всего: нет



Есть такой скрипт:

#!/usr/local/bin/perl

read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});

@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.|\n)*-->//g;
$input{$name} = $value;
}

Так вот если ему подать русский текст из веб формы, то он записывает в файл (а обработонное мне нужно записывать в файл) одни знаки вопросы, помогите разобраться, что для этого нужно.
PM MAIL   Вверх
chaos
Дата 27.8.2004, 07:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: нет
Всего: 44



Конвертировать тебе симовлы нужно!!!
PM WWW   Вверх
noder
Дата 27.8.2004, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 18.8.2004

Репутация: нет
Всего: нет



Цитата(chaos @ 27.8.2004, 07:56)
Конвертировать тебе симовлы нужно!!!

Э-эм рискну спросить...как?
потому как я еще не совсем понимаю какую роль играют следующие строки в моем скрипте:

$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/<!--(.|\n)*-->//g;

на сколько я понимаю, в этих строках идет замена всяких символов?

PM MAIL   Вверх
dimes
Дата 27.8.2004, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 249
Регистрация: 20.7.2004
Где: то около СПБ

Репутация: нет
Всего: 14



-каким браузером ты постиш данные?
-есть ли чтонибуть на странице что явно указывает кодировку? например <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-как убедился что это не твой редактор превращает символы в "?" при просмотре полученных файлов?
PM ICQ   Вверх
noder
Дата 27.8.2004, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 18.8.2004

Репутация: нет
Всего: нет



Цитата(dimes @ 27.8.2004, 13:30)
-каким браузером ты постиш данные?
-есть ли чтонибуть на странице что явно указывает кодировку? например <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-как убедился что это не твой редактор превращает символы в "?" при просмотре полученных файлов?

данные постились из IE, на странице с формой META тега нет.
Просматривал содержимое файла консольным редактором Vi (проблемы с локалью исключены), потом просматривал в Виндах, те же знаки вопроса hmmm.gif
PM MAIL   Вверх
GoodBoy
Дата 27.8.2004, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 4
Всего: 83



noder
Честно говоря у меня подозрения именно на локаль... Попробуй в скрипте прописать это:
Код
use POSIX qw(locale_h);
setlocale(LC_CTYPE, "ru_RU.windows-1251");
use locale;

А на странице -
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
И все кодировку страницы сделать в 1251.


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0434 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.