Перейти из форума на сайт.Реклама на Ru.Board


НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаФотогалереяГазетаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация


  Включи легальный P-CAD. Всего за 60 000 рублей!

  Full HD медиаплееры и рекордеры Ellion - до 4 терабайт фильмов, цифровое ТВ, HD-запись и домашнее кино голливудской пробы!


Тариф «Четвертый»: 18 сайтов, 6 Гб, MySQL не ограничено, FTP не ограничено, SSH, персональный веб-сервер
Рекомендуем хостинг SPRINTHOST.RU

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Закладки » ICSharpCode.SharpZipLib :: Кириллица в именах файлов

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

mycarisgood

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В веб-приложении (ASP.NET, C#) мне нужно паковать директорию в ZIP архив. Для этого использую библиотеку ICSharpCode.SharpZipLib.
 
Например так:
 
FastZip fz = new FastZip();
fz.CreateZip("D:\\test.zip", "D:\\test", true, "");
 
Так вот, если папка test содержит файлы, в именах которых присутствуют символы кириллицы, то они заменяются на знаки вопроса.
 
Самое странное то, что если я запускаю обычное консольное приложение на том же сервере, которое делает ТО ЖЕ САМОЕ:
 
FastZip fz = new FastZip();
fz.CreateZip("D:\\test.zip", "D:\\test", true, "");
 
проблем с кириллицей не возникает.
 
Я понимаю, что ИМЕННО С ЭТОЙ проблемой вряд ли кто сталкивался. Но, может быть, есть мысли почему такое может быть?

Всего записей: 13 | Зарегистр. 09-02-2010 | Отправлено: 17:39 24-02-2010 | Исправлено: mycarisgood, 17:41 24-02-2010
volser

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mycarisgood
Ссылка

Всего записей: 614 | Зарегистр. 31-03-2006 | Отправлено: 18:41 24-02-2010
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mycarisgood
Зип состоит из двух частей. В одном случае надо сохранять OEM конверсию, в принципе ZIP не изобретение майкрософт и был заточен на разные системы и процессоры. В случае Windows (russion) используется Windows-1251. Иногда на Амиге и Эпл это трудно воспроизвести. В другом случае требуется сохранить совместимость с программами написанными людьми не успевшими изучить что такое кодировка.

Всего записей: 612 | Зарегистр. 25-06-2007 | Отправлено: 19:55 24-02-2010
mycarisgood

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
volser, delover
 
Огромное спасибо! Информация, которую я нашел по ссылке, решила проблему.
 
Оказалось, что при запуске библиотеки на веб-сервере DefaultCodePage = 437 (что нехорошо), а при запуске обычного приложения DefaultCodePage = 866 (что хорошо).
 
Решение:
 
ZipConstants.DefaultCodePage = 866;
FastZip fz = new FastZip();  
fz.CreateZip("D:\\test.zip", "D:\\test", true, "");

Всего записей: 13 | Зарегистр. 09-02-2010 | Отправлено: 15:47 25-02-2010 | Исправлено: mycarisgood, 15:48 25-02-2010
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Закладки » ICSharpCode.SharpZipLib :: Кириллица в именах файлов

Имя:
Пароль:
Сообщение

Для вставки имени, кликните на нем.

Опции сообщенияДобавить свою подпись
Подписаться на получение ответов по e-mail
Добавить тему в личные закладки
Разрешить смайлики?
Запретить коды


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2011