У меня есть файл AppleScript для замены имен файлов, которые предоставляются через файл CSV. Хотя у меня есть сценарий для работы, он имеет проблемы с кодировкой строк/имен файлов.Как сохранить специальные символы при переименовании файла с помощью AppleScript
Поиск файлов работает отлично. Переименование его на что-то вроде Malmö приводит к очень странной закодированной строке.
CSV берет начало из Microsoft Excel, и я подозреваю, что кодировка UTF-8 неправильна. И теперь я застрял в том, как правильно обрабатывать кодировку. (или как преобразовать кодировку). Насколько мне известно, он имеет стандартную кодировку Excel ISO 8859-1.
set theFile to (choose file with prompt "Select the CSV file")
set thePath to (choose folder with prompt "Select directory") as string
set theCSVData to paragraphs of ((read theFile))
set {oldTID, my text item delimiters} to {my text item delimiters, ";"}
repeat with thisLine in theCSVData
set {oldFileName, newFileName} to text items of thisLine
if length of oldFileName > 0 then
set oldFile to thePath & oldFileName
set newFile to newFileName
tell application "System Events"
if exists file oldFile then
set name of file oldFile to newFile
end if
end tell
end if
end repeat
Так что мой вопрос, как я могу решить эту проблему кодирования, либо прочитав его должным образом или путем кодирования файла первой (через AppleScript)
могли бы вы дать мне пример того, как преобразовать файл CSV из '' utf16LE' в UTF-8'? Или как преобразовать строки, которые я получаю от него, используя applescript? Я не очень хорошо знаком с –
Я имел в виду, что имена файлов hfs на ** диске ** закодированы в utf16Le. Я думаю, foo, дал вам полный и правильный ответ на то, что я имел в виду (или даже более правильно, потому что я думал о кодировании имен файлов через iconv один за другим.) Теперь, если вы конвертируете csv в utf-8 и возьмите его оттуда, тогда все персонажи, должно быть, все в порядке, (я использую æøå, и это никогда не терпит неудачу). – McUsr