|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 13 Sep 2004 23:05:37 To : Anton V. Yuzhaninov Subject : Re: Filesys::SmbClient -------------------------------------------------------------------------------- Anton V. Yuzhaninov -> Artem Chuprina @ Mon, 13 Sep 2004 15:19:04 +0000 (UTC): AVY>>> samba-libsmbclient-3.0.6_1 The shared lib from the samba packages AVY>>> p5-Filesys-SmbClient-1.5 Interface for access Samba filesystem with AVY>>> В отладочном режиме видно, что он читает конфиг из AVY>>> /home/user/.smb.smb.conf AVY>>> прописал там AVY>>> dos charset = 866 AVY>>> unix charset = KOI8-R AVY>>> display charset = KOI8-R AVY>>> не помогает. AC>> Вообще-то синтаксис соответствующих команд теоретически другой, и AC>> записаны они должны быть в конфиге самбы. В любом случае, в чтение AC>> именно этого файла я не верю. Кто-то из вас опечатался. AVY> А какой еще другой синтаксис? Он его нормально понимает. А, ну да, самба-то третья... AVY> Запускаю скрипт: AVY> #!/usr/bin/perl AVY> use Filesys::SmbClient; # portinstall p5-Filesys-SmbClient AVY> my $smb = new Filesys::SmbClient(username => "citrin", password => AVY> "speed", workgroup => "MSTU", debug => 4); AVY> my $fd = $smb->opendir("smb://cebka/inbox"); AVY> foreach my $n ($smb->readdir($fd)) {print $n,"\n";} AVY> $smb->close($fd); AVY> Он выводит: AVY> added interface ip=192.168.54.120 bcast=192.168.54.255 nmask=255.255.255.0 AVY> lp_load: refreshing parameters AVY> Initialising global parameters AVY> params.c:pm_process() - Processing configuration file AVY> "/home/citrin/.smb/smb.conf" Processing section "[global]" doing parameter AVY> workgroup = MSTU doing parameter dos charset = 866 doing parameter unix AVY> charset = KOI8-R doing parameter display charset = KOI8-R pm_process() AVY> returned Yes Using netbios name CITRIN. Using workgroup MSTU. parsed path: AVY> fname='smb://cebka/inbox' server='cebka' share='inbox' path='' options='' AVY> [ skipped ] Physics.iso ппёп>> пчяя п?п? п?пёп?пёп?пч - 2 япчп? AVY> пчп?япёпё - п?пёп?пёп?пш AVY> ttd AC>> Добейся сначала работы от команды smbclient. Потом уже к перловому AC>> модулю ходи. AVY> smbclient у меня от 2-й самбы и он работает. А libsmclient AVY> польность независимый порт и с самбой по либам никак не AVY> пересекается. Сносить вторую самбу и ставить 3-ю не хочется, да и AVY> я сомневаюсь, что это поможет. Действительно, отдельный... Хотя вполне себе из комплекта самбы. Только скажу я тебе, что вас обманули - вам подсунули гораздо лучший мех. Он адекватно отрабатывает dos charset, а имена файлов возвращает в наилучшей из возможных в данном случае кодировок - utf-8. Просто перекодируй вручную, если тебе уж приспичило попытаться перекодировать в koi8-r, и не мучайся. display charset, судя по man smb.conf, в данном случае иррелевантен вообще, а почему оно решило не использовать unix charset, не скажу. Скорее всего, потому что его использование у smbclient происходит на другом этапе (ввода-вывода), которого в случае использования функций из перлового модуля (ввод-вывод производится не функциями libsmbclient) нет. -- Artem Chuprina RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757 --- ifmail v.2.15dev5.3 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/25606cf9982ba.html, оценка из 5, голосов 10
|