Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум 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, "");
 
проблем с кириллицей не возникает.
 
Я понимаю, что ИМЕННО С ЭТОЙ проблемой вряд ли кто сталкивался. Но, может быть, есть мысли почему такое может быть?

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

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

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

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

Всего записей: 1395 | Зарегистр. 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, "");

Всего записей: 14 | Зарегистр. 09-02-2010 | Отправлено: 15:47 25-02-2010 | Исправлено: mycarisgood, 15:48 25-02-2010
stoos123

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подробнее...

Всего записей: 1 | Зарегистр. 20-12-2016 | Отправлено: 11:06 20-12-2016
Открыть новую тему     Написать ответ в эту тему

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


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru