The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"cgi и русские символы"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"cgi и русские символы" 
Сообщение от tim Искать по авторуВ закладки(??) on 28-Окт-05, 10:58  (MSK)
Hi!
Есть скрипт такого содержания:

#!/usr/bin/perl

my $smbstatus = "/usr/bin/smbstatus";
print("Content-type: text/html\n\n");

open(PLOCK, "$smbstatus -L |") or die("Cannot open smbstatus\n");
while(<PLOCK>){
    print("<p>$_</p>");
}
close(PLOCK);

Если встречаются русские имена файлов, то они не выводятся, с того места где встречается первый руский символ начинается новая строка, т.е. он интерпретируется как спецсимвол.

Если этот скрипт запустить с консоли то вывод будет правильный.

Если в скрипте добавить:
print("Чтото - по русски");
отобразиться правильно...

Сначало пробовал под mini_httpd, теперь под boa эфект тот-же.

Думаю косяки происходят когда httpd создает процесс, т.е. perl получает уже покарябанные данные...

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "cgi и русские символы" 
Сообщение от Аноним emailИскать по авторуВ закладки on 28-Окт-05, 13:16  (MSK)
>Hi!
>Есть скрипт такого содержания:
>
>#!/usr/bin/perl
>
>my $smbstatus = "/usr/bin/smbstatus";
>print("Content-type: text/html\n\n");
>
>open(PLOCK, "$smbstatus -L |") or die("Cannot open smbstatus\n");
>while(<PLOCK>){
>    print("<p>$_</p>");
>}
>close(PLOCK);
>
>Если встречаются русские имена файлов, то они не выводятся, с того места
>где встречается первый руский символ начинается новая строка, т.е. он интерпретируется
>как спецсимвол.
>
>Если этот скрипт запустить с консоли то вывод будет правильный.
>
>Если в скрипте добавить:
> print("Чтото - по русски");
>отобразиться правильно...
>
>Сначало пробовал под mini_httpd, теперь под boa эфект тот-же.
>
>Думаю косяки происходят когда httpd создает процесс, т.е. perl получает уже покарябанные
>данные...

к примеру если локаль utf8:
use encoding ’utf8’;

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "cgi и русские символы" 
Сообщение от tim Искать по авторуВ закладки(??) on 28-Окт-05, 14:16  (MSK)

>
>к примеру если локаль utf8:
>use encoding ’utf8’;

Нет к perlу уже приходят косяки, `smbstatus -L` в контексте процесса httpd сервера гадит русские буквы.

Посмотрел исходник mini_httpd там это выглядит так:

/* Run the program. */
    (void) execve( binary, argp, envp );

Может надо в envp как то указать локаль?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру