Посоветуйте способ как кодировать в utf-8

Miner

Client
Регистрация
30.04.2015
Сообщения
66
Благодарностей
9
Баллы
8
У меня есть 2 тхт файла с каждого берется строка и все это кладется в CSV файл.CSV файл мне нужен всегда в кодировке utf-8,но когда происходит это весь процесс кодировка слетает на utf-8 без BOM .Подскажите как я могу каждый раз перекодировать этот файл или может есть какие то другие способы?
 

sergodjan66

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
16 987
Благодарностей
7 367
Баллы
113
У меня есть 2 тхт файла с каждого берется строка и все это кладется в CSV файл.CSV файл мне нужен всегда в кодировке utf-8,но когда происходит это весь процесс кодировка слетает на utf-8 без BOM .Подскажите как я могу каждый раз перекодировать этот файл или может есть какие то другие способы?
после завершения работы, можно перекодирвоать файл этим кодом:
Код:
File.WriteAllText(@"C:\file.txt", File.ReadAllText(@"C:\file.txt"), Encoding.UTF8);
в процессе работы, по моему нереально, т.к. зенка работает с UTF без BOM..
 
  • Спасибо
Реакции: pg2016 и Greez

Miner

Client
Регистрация
30.04.2015
Сообщения
66
Благодарностей
9
Баллы
8
спасибо,нашел тоже уже топик
 

Greez

Client
Регистрация
05.02.2014
Сообщения
73
Благодарностей
22
Баллы
8
Скинь ссылку на топик :-)
Или подскажите пожалуйста тут, можно массово переводить в "UTF-8 without BOM" файлы эксель в другой кодировке? Код который дали в теме это для C#?
 

sergodjan66

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
16 987
Благодарностей
7 367
Баллы
113
Скинь ссылку на топик :-)
Или подскажите пожалуйста тут, можно массово переводить в "UTF-8 without BOM" файлы эксель в другой кодировке? Код который дали в теме это для C#?
да, для C#..
массово можно, если организовать цикл..
про топик ответит предыдущий оратор.. :-)
 
  • Спасибо
Реакции: Greez

K R

Client
Регистрация
14.01.2017
Сообщения
14
Благодарностей
12
Баллы
3
Здравствуйте. Не стал создавать новую тему, подниму эту.

Есть таблица с расширением xls, она сгенерирована сторонним софтом. Там что-либо поменять не получится.
В зеннопостере я переношу строки из этой таблицы в новую таблицу с расширением .csv, в процессе переноса делаю нужные мне замены. На выходе получаю таблицу.csv с кодировкой UTF-8-BOM и с этими самыми BOM-метками в начале некоторых строк. Чтобы от них (меток) избавиться приходится вручную открывать каждую таблицу (а их много, и они большие) в notepad++, менять кодировку на UTF-8 и поиском-заменой удалять BOM.

Задача: получать на выходе из зеннопостера таблицы в формате csv, с кодировкой UTF-8 без BOM и без меток BOM, чтобы затем отправлять эти таблицы на сервер через ftp.

Что было сделано:
1. Взял одну из обработанных в notepad++ таблиц и удалил из неё весь текст. Эту пустую таблицу копирую и привязываю в зеннопостере к ней таблицу, в которую потом складываю строки из xls. В конце работы проекта эту таблицу сохраняю. Открываю в notepad++ - опять UTF-8-BOM.
2. На этапе получения строк (каждая ячейка - в переменную) делаю в первой ячейке замену (регулярка) \ufeff на пустоту. В notepad++ этот способ работает, в зеннопостере - нет.

Подскажите, есть ли у этой задачи решение.
 

K R

Client
Регистрация
14.01.2017
Сообщения
14
Благодарностей
12
Баллы
3
Здравствуйте. Не стал создавать новую тему, подниму эту.

Есть таблица с расширением xls, она сгенерирована сторонним софтом. Там что-либо поменять не получится.
В зеннопостере я переношу строки из этой таблицы в новую таблицу с расширением .csv, в процессе переноса делаю нужные мне замены. На выходе получаю таблицу.csv с кодировкой UTF-8-BOM и с этими самыми BOM-метками в начале некоторых строк. Чтобы от них (меток) избавиться приходится вручную открывать каждую таблицу (а их много, и они большие) в notepad++, менять кодировку на UTF-8 и поиском-заменой удалять BOM.

Задача: получать на выходе из зеннопостера таблицы в формате csv, с кодировкой UTF-8 без BOM и без меток BOM, чтобы затем отправлять эти таблицы на сервер через ftp.

Что было сделано:
1. Взял одну из обработанных в notepad++ таблиц и удалил из неё весь текст. Эту пустую таблицу копирую и привязываю в зеннопостере к ней таблицу, в которую потом складываю строки из xls. В конце работы проекта эту таблицу сохраняю. Открываю в notepad++ - опять UTF-8-BOM.
2. На этапе получения строк (каждая ячейка - в переменную) делаю в первой ячейке замену (регулярка) \ufeff на пустоту. В notepad++ этот способ работает, в зеннопостере - нет.

Подскажите, есть ли у этой задачи решение.
Сам спросил, сам и отвечу - может кому-то пригодится.
Решить вопрос на этапе сохранения таблиц не получилось: BOM выявляются и удаляются регуляркой \ufeff, но сам файл так и остаётся в кодировке UTF-8-BOM и скрипты не выполняются.
После загрузки на сервер, по ssh (из зенки, при помощи библиотеки Renci.SshNet ) к файлу применяю команду:
sed -i '1s/^\xEF\xBB\xBF//' file.csv
После выполнения команды можно обновить директорию с таблицей в filezilla - размер таблицы уменьшится на 3 байта, и скрипты с такими файлами работают как надо.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)