Библиотека paszlib кракозябры в национальных символах

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Библиотека paszlib кракозябры в национальных символах

Сообщение viterik » 02.03.2023 14:06:04

IDE Lazarus v.2.2.4
Подскажи пожалуйста. Библиотека paszlib. Появляются кракозябры в наименованиях в фалах (в архиве ZIP) (кириллица)

Использую код со статьи из https://wiki.freepascal.org/paszlib/ru
Архивирование всего дерева каталогов
Этот пример рекурсивно добавит содержимое 'C: MyFolder' в 'myzipfile.zip
Код: Выделить всё
Uses ...Zipper,FileUtil
var
  AZipper: TZipper;
  TheFileList:TStringList;
begin
  MyDirectory:='C:\MyFolder';
  AZipper := TZipper.Create;
  AZipper.Filename := 'myzipfile.zip';
  TheFileList:=TStringList.Create;
  try
    FindAllFiles(TheFileList, MyDirectory);
    AZipper.Entries.AddFileEntries(TheFileList);
    AZipper.ZipAllFiles;
  finally
    TheFileList.Free;
    AZipper.Free;
  end;
end;


мриомио.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
viterik
незнакомец
 
Сообщения: 2
Зарегистрирован: 02.03.2023 14:01:56

Re: Библиотека paszlib кракозябры в национальных символах

Сообщение iskander » 02.03.2023 21:51:43

viterik писал(а):Подскажи пожалуйста. Библиотека paszlib. Появляются кракозябры в наименованиях в фалах (в архиве ZIP) (кириллица)

Использую код со статьи из https://wiki.freepascal.org/paszlib/ru

А на пример из этой же статьи, только повыше, внимания не обратили?
Он прямо так и озаглавлен: Упаковка файлов с сохранением кодировки имен файлов.
То есть ваш пример должен выглядеть как-то так:
Код: Выделить всё
program zip_dir;
{$mode objfpc}{$H+}
uses
  Classes, SysUtils, FileUtil, Zipper;
var
  AZipper: TZipper;
  TheFileList: TStringList;
  MyDirectory: string;
begin
  MyDirectory := 'C:\MyFolder';
  AZipper := TZipper.Create;
  AZipper.Filename := 'myzipfile.zip';
  TheFileList := TStringList.Create;
  try
    FindAllFiles(TheFileList, MyDirectory);
    AZipper.Entries.AddFileEntries(TheFileList);
    AZipper.UseLanguageEncoding := True;
    AZipper.ZipAllFiles;
  finally
    TheFileList.Free;
    AZipper.Free;
  end;
end.
iskander
энтузиаст
 
Сообщения: 590
Зарегистрирован: 08.01.2012 18:43:34

Re: Библиотека paszlib кракозябры в национальных символах

Сообщение viterik » 02.03.2023 22:23:21

iskander писал(а):А на пример из этой же статьи, только повыше, внимания не обратили?
Он прямо так и озаглавлен: Упаковка файлов с сохранением кодировки имен файлов.
То есть ваш пример должен выглядеть как-то так:


Ну большое спасибо тебе! Все работает!!!
viterik
незнакомец
 
Сообщения: 2
Зарегистрирован: 02.03.2023 14:01:56


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 33

Рейтинг@Mail.ru
cron