You are not logged in.
Pages: 1
Денис, можно ли при переименовании пересохранить файлы в кодировке UTF-8 путем PascalScript Rule или настроек конфигурационных файлов? Спасибо.
Offline
Да сделать это можно с помощью правила PascalScript, но важно помнить что правила срабатывают в процессе генерирования нового имени (Просмотр или Preview), а не в процессе переименования. Так что как только ты добавишь это правило все файлы сразу же продут через обработку.
Чтобы файлы не обрабатывались больше одного раза, мы вставим байтовую маску UTF8 (0xEF, 0xBB, 0xBF) в начале файла и проверим на ее наличие перед обработкой.
Этот скрипт конвертирует содержимое файла из ANSI (системной кодовой страницы) в UTF8:
var
  DataAnsi, DataUTF8, UTF8BOM: AnsiString;
  DataWide: WideString;
begin
  UTF8BOM := Chr($EF) + Chr($BB) + Chr($BF);
  DataAnsi := FileReadContent(FilePath);
  if Copy(DataAnsi, 1, Length(UTF8BOM)) <> UTF8BOM then
  begin  
    DataWide := AnsiToWide(DataAnsi);
    DataUTF8 := UTF8BOM + UTF8Encode(DataWide);
    FileWriteContent(FilePath, DataUTF8);
  end;
end.Этот скрипт также опубликован здесь:
ReNamer:Scripts:Convert_file_content_from_ANSI_to_UTF-8
Offline
Pages: 1