@Amewz said in Как с If сделать так, чтобы при значении таймера 00:00:00 производилось действие?:
<div class="card-container--time">01:41:54</div> == $0
Сам недавно столкнулся с кодировкой csv файла. Кирилицу в utf-8 безжалостно в крокозябры превращает. Но iconv быстро конвертит.
Если не сложно приложите рабочий проект, все что видел и есть на форуме уже все перепробывал ничего не работало,кряказябры все равно есть если через ексель тот-же csv открыть
Не работает, в екселе все равно при открытии кряказябры,а у Вы пробывали открывать екселем ? у Вас кирилица ?
Да проверил

всё работает.
Все работает! большое спасибо!
Пока писал ответ вы изменили сообщение :D. Ну главное, что работает
@kain Сохранил в txt, переименовал в csv, открыл в Excel, результат:

файл 1.txt
Переименованный файл 1.csv
Так что перекодировать всё равно приходится
@fox
А как указать путь чтоб брало файл с диска С:papka и ставило туда-же после перекодирования?
В Вашем примере работает только когда исходный файл лежит в папке AppData\Roaming\BrowserAutomationStudio\apps\21.0.1\
если там его нету то какие пути не указывай - не работает
пробывал так iconv -t WINDOWS-1251 -f UTF-8 C:\test\1.csv > "C:\test\1.csv"
может что не то делаю?
Записывает C:\test\1.csv нормально после перекодировки пустой файл
@avtopars Вы посмотрите внимательнее, я сам этот файл создаю в директории
AppData\Roaming\BrowserAutomationStudio\apps\21.0.1\
и потом его конвертирую в нужную папку.
пробывал так iconv -t WINDOWS-1251 -f UTF-8 C:\test\1.csv > "C:\test\1.csv"
Нужно сохранять в другой файл. Можете поменять папку и сохранять с этим же именем
Мда... 2 дня гемора и наконец решение,мож кому-то тоже пригодится.
Суть такая
Проект от @fox работает,делаю вроде все так-же но ничего не работает.
Вместо нужного результата после смены кодировки получаю свой файл но он пустой 0 байт.
Создал новый проект чистый делаю все с нуля все работает, возвращаюсь в старый проект и тут вроде все также но не пашет и все тут...
Решение оказалось банальным в старом проекте в названии файла было пару слов и из-за пробелов нечего не работало. Если файл 1 слово все прекрасно конвертируется.
Логичный вопрос как решить проблему пробелов? Вернее как писать название файлов с пробелами так чтоб утилита это понимала?
@avtopars Действие "выполнить процесс" по сути создаёт bat файл и выполняет его, грубо говоря. А в командной строке если в пути встречается кирилица или пробелы, его обрамляют в кавычки. По сути можно любой путь обрамлять в кавычки, на всякий случай и всё.
@fox
Вы говорили что пользуетесь утилиткой давно,а проблем не возникало с конвертацией?
У меня почему-то она обрезает файл
Например csv оригинал имеет 130 строк выходной подрезает и получается 100 или 25-75 как получится...
от чего зависит не знаю но факт такой есть и это точно она делает,а не бас и ничто другое.
Кстати не всегда иногда и полный файл выдает
Вы говорили что пользуетесь утилиткой давно
Где я такое говорил?
Например csv оригинал имеет 130 строк выходной подрезает и получается 100 или 25-75 как получится...
Приложите проблемый файл к сообщению. посмотрю в чём может быть причина
В общем проблема более менее понятна.
Встречаются разные символы на источнике которые утилита не читает или не понимает, если их заменять на что-то тогда конвертится нормально без обрезок.
Символы которые встречаются в разных случаях разные,тут помоему общего решения нет. В каждом отдельном случае нужно смотреть на чем затык и добавлять его в обработку
Обратился к разработчику за помощью в решении проблемы с конвертацией.
Выложу это тут для будущих поколений ))
Через node js проблема решается полностью, для работы нужно поставить модуль encoding
Следующий код решает проблемы
var fs = require('fs');
var encoding = require('encoding');
//Читаем файл в utf-8 кодировке(BAS всегда сохраняет в utf-8)
var text = fs.readFileSync('C:/dev/encoding/text.txt', 'UTF-8');
//Конвертим
var result = encoding.convert(text, 'WINDOWS-1251', 'UTF-8');
//Пишем в файл
fs.writeFileSync('C:/dev/encoding/converted.txt', result);
Код если пути у нас в переменных
var fs = require('fs');
var encoding = require('encoding');
//Читаем файл в utf-8 кодировке(BAS всегда сохраняет в utf-8)
var text = fs.readFileSync([[NEW_VARIABLE]] + '111.csv', 'UTF-8');
//Конвертим
var result = encoding.convert(text, 'WINDOWS-1251', 'UTF-8');
//Пишем в файл
fs.writeFileSync([[NEW_VARIABLE2]] + '222.csv', result);
Отдельная благодарность @fox за участие и консультации