|   |   | 
| 
 | Утилита перекодировки файла из UTF-8 в Windows-1251 | ☑ | ||
|---|---|---|---|---|
| 0
    
        OnePrg 02.02.23✎ 12:14 | 
        Посоветуйте проверенную утилиту перекодировки файла из UTF-8 в Windows-1251.
 Пока нашёл только win-conv, но он ругается win_iconv -f utf-8 -t windows-1251 "1.csv" > "2.txt" conversion error: Illegal byte sequence | |||
| 1
    
        OnePrg 02.02.23✎ 12:14 | 
        утилита должна работать через командную строку     | |||
| 2
    
        PLUT гуру 02.02.23✎ 12:17 | 
        1C умеет
 в заклинании можно указать нужную кодироку Новый ЧтениеТекста() при записи аналогично | |||
| 3
    
        H A D G E H O G s 02.02.23✎ 12:19 | ||||
| 4
    
        OnePrg 02.02.23✎ 12:29 | 
        (2) а 7.7?     | |||
| 5
    
        PLUT гуру 02.02.23✎ 12:30 | 
        (4) вы с какой планеты?     | |||
| 6
    
        PLUT гуру 02.02.23✎ 12:33 | 
        (5) товарищ гугл 
 https://infostart.ru/public/18816/ ну и https://www.vdgb.ru/blog/kak-v-7-7-prochitat-fajl-csv-v-utf-8/ оттудова цЫтата: Перем Имя,Путь; Если ФС.ВыбратьФайл(0,Имя,Путь,"","*.*|*.*","*")=0 Тогда Возврат; КонецЕсли; Файл=Путь+Имя; Стрим=СоздатьОбъект("ADODB.Stream"); Стрим.Type=2; Стрим.charset="windows-1251"; Стрим.Open(); Стрим.LoadFromFile(Файл); Стрим.charset="utf-8"; Стр=Лев(Стрим.ReadText(),255); Сообщить(Стр); | |||
| 7
    
        arsik гуру 02.02.23✎ 12:34 | 
        Через питон еще можно или повершелл     | |||
| 8
    
        Garykom гуру 02.02.23✎ 12:35 | ||||
| 9
    
        PLUT гуру 02.02.23✎ 12:37 | 
        (8) микросервис на го, ёпта!
 golang win1251 <-> utf8 encoding issue demonstration | |||
| 10
    
        arsik гуру 02.02.23✎ 12:38 | 
        (9) Зачем микросервис? Экзешник скомпилил и го перекодировать все что под руку попадется.     | |||
| 11
    
        Garykom гуру 02.02.23✎ 12:44 | ||||
| 12
    
        Garykom гуру 02.02.23✎ 12:44 | 
        (10) именно     | |||
| 13
    
        PLUT гуру 02.02.23✎ 12:45 | 
        (6) там по второй сцылке в примере есть что-то на повершелловском/bat-овском     | |||
| 14
    
        arsik гуру 02.02.23✎ 12:45 | 
        С версии 6.2
 get-content IN.txt | out-file -encoding "windows-1251" -filepath OUT.txt | |||
| 15
    
        Garykom гуру 02.02.23✎ 12:48 | 
        (12)+ https://stackoverflow.com/questions/32518432/how-to-convert-from-an-encoding-to-utf-8-in-go
 готовое в ответах только японскую кодировку заменить на нужное | |||
| 16
    
        OnePrg 02.02.23✎ 13:04 | 
        (3) 
 Set WshShell = CreateObject("WScript.Shell") WshShell.Run """C:\Program Files\AkelPad\AkelPad.exe"" /OpenFile(""D:\DOWNLOADS\1.csv"")" , 0, 1 WshShell.Run """C:\Program Files\AkelPad\AkelPad.exe"" /SaveFile(""D:\DOWNLOADS\2.txt"",windows-1251) " , 0, 1 не ругается, но и ничего не делает | |||
| 17
    
        arsik гуру 02.02.23✎ 13:13 | 
        (16) Ты нормальный вообще? Эти 2 команды никак друг с другом не связаны.     | |||
| 18
    
        OnePrg 02.02.23✎ 13:15 | 
        (17) 
 Set WshShell = CreateObject("WScript.Shell") WshShell.Run """C:\Program Files\AkelPad\AkelPad.exe"" /OpenFile(""D:\DOWNLOADS\1.csv"") /SaveFile(""D:\DOWNLOADS\2.txt"",windows-1251)" , 0, 1 так заработало спасибо!!! | |||
| 19
    
        OnePrg 02.02.23✎ 13:16 | 
        (6) 
 Стрим=СоздатьОбъект("ADODB.Stream"); Стрим.Type=2; Стрим.charset="utf-8"; Стрим.Open(); Стрим.LoadFromFile(ИмяФайлаУТФ8); Стрим.charset="windows-1251"; Т = СоздатьОбъект("Текст"); Т.КодоваяСтраница(0); Т.ДобавитьСтроку(Стрим.ReadText()); Т.Записать(ИмяФайла1251); тут что не так? не работает, сохраняет файл в кодировке UTF-8 | |||
| 20
    
        OnePrg 02.02.23✎ 13:18 | ||||
| 21
    
        arsik гуру 02.02.23✎ 13:22 | 
        (20) Ну воспользуйся уже поиском Перекодировка txt в utf-8. Adodb.Stream не работает. Что делать?     | |||
| 22
    
        vbus 02.02.23✎ 13:23 | 
        Python пойдет?
 import sys def recod(in_name, out_name): with open(in_name, encoding='utf-8' ) as infile: file=infile.read() with open(out_name, 'w', encoding='cp1251') as outfile: outfile.write(file) if __name__ == "__main__": if len (sys.argv) >= 3: recod(sys.argv[1], sys.argv[2]) else: print('Мало аргументов, нужно имя файла входного, имя файла выхоного') | |||
| 23
    
        PLUT гуру 02.02.23✎ 13:29 | ||||
| 24
    
        PLUT гуру 02.02.23✎ 13:30 | 
        (23) "Итого менее чем за час 1с-ник, который раньше никогда не работал с питоном, смог адаптировать полезный скрипт на Python. Не боги горшки обжигают."     | |||
| 25
    
        OnePrg 02.02.23✎ 13:37 | 
        Всем спасибо.
 AkelPad работает. Вариант с ADODB.Stream нравится больше, создам по нему отдельную тему. | |||
| 26
    
        PLUT гуру 02.02.23✎ 13:39 | 
        (25) ностальгия
 Состояние("" + Формат(100 * СтримВход.position/Всего,"Ч(0)5.2")+"%"); | |||
| 27
    
        KJlag 02.02.23✎ 13:39 | 
        (25)  >Вариант с ADODB.Stream нравится больше,  создам по нему отдельную тему.
 на своем сайте, на хабре, ну и может быть в инсте? Г1С, это ты? | |||
| 28
    
        KJlag 02.02.23✎ 13:40 | 
        (27) а, стоп. не увидел, что на ADODB.Stream не взлетело.     | |||
| 29
    
        Arbuz 02.02.23✎ 13:45 | 
        Подождите-подождите, вот вам перловка до кучи:
 use strict; use warnings; open(my $INFILE, '<:encoding(UTF-8)', $ARGV[0]) or die $!; open(my $OUTFILE, '>:encoding(cp1251)', $ARGV[1]) or die $!; while (<$INFILE>) { print $OUTFILE $_; } | |||
| 30
    
        eklmn гуру 02.02.23✎ 15:55 | 
        ну тогда и я добавлю!
 <code> файл = Новый ТекстовыйДокумент; s = КаталогВременныхФайлов()+"utfto1251.ps1"; файл.УстановитьТекст("$utffile = Get-Content C:\temp\testutf8.txt |$russian = [System.Text.Encoding]::getencoding(1251) |$rusbyte = $russian.getbytes($utffile) |$s = [system.text.encoding]::convert(([text.encoding]::getencoding('utf-8')),$russian,$rusbyte) |echo $russian.getstring($s) > 'C:\temp\text1251.txt'"); файл.Записать(scr,КодировкаТекста.Системная); ЗапуститьПриложение("powershell -executionpolicy unrestricted -command "+s,,Ложь); </code> | |||
| 31
    
        eklmn гуру 02.02.23✎ 15:56 | 
        косячок!
 файл.Записать(s,КодировкаТекста.Системная); | |||
| 32
    
        Злопчинский 02.02.23✎ 15:58 | 
        тест     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |