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