Имя: Пароль:
1C
 
Прочитать файл в dos-кодировке
0 tiago
 
26.02.16
15:00
Здравствуйте, товарищи!

Прошу, подскажите решение - получил текстовый файл, выгруженный из dos-программы, открыл в блокноте и вижу такое: http://c2n.me/3uQ9ZgC

Когда пытаюсь прочитать в 1С 8.2
    ТекстДок = Новый ТекстовыйДокумент();
    ТекстДок.Прочитать(ФайлВыгрузки);
        Стр = ТекстДок.ПолучитьСтроку(НомерСтроки);

в Стр получаю такие же "иероглифы".

Как я могу перевести такие символы в читаемый текст?
1 Fragster
 
гуру
26.02.16
15:02
ТекстовыйДокумент.Прочитать (TextDocument.Read)
ТекстовыйДокумент (TextDocument)
Прочитать (Read)
Синтаксис:

Прочитать(<ИмяФайла>, <ТипФайла>, <РазделительСтрок>)
Параметры:

<ИмяФайла> (обязательный)

Тип: Строка.
Имя текстового файла.
<ТипФайла> (необязательный)

Тип: КодировкаТекста; Строка.
Указывается кодировка текста в открываемом файле.
В случае, если параметр не задан, формат текста будет определен автоматически (если он хранится в файле с сигнатурой BOM в начале). Если автоматически определить формат файла не удается, файл будет открыт в кодировке UTF8.

Тип файла может быть задан как в виде значения перечисления КодировкаТекста, так и в виде строки с указанием названия кодировки.
Поддерживаемые названия кодировок:
UTF-8
UTF-16
UTF-16BE
UTF-16LE
UTF-32
UTF-32BE
UTF-32LE
UTF16_PlatformEndian
UTF16_OppositeEndian
UTF32_PlatformEndian
UTF32_OppositeEndian
UTF-7
IMAP-mailbox-name
SCSU
BOCU-1
CESU-8
ISO-8859-1
US-ASCII
gb18030
IBM367
iso-8859-2
iso-8859-3
iso-8859-4
iso-8859-5
iso-8859-6
iso-8859-7
iso-8859-8
iso-8859-9
iso-8859-13
iso-8859-15
cp932
Shift_JIS
EUC-JP
cp33722
windows-950
Big5
cp950
Big5-HKSCS
cp1386
GBK
GB2312
GB_2312-80
cp964
cp949
cp949c
EUC-KR
ibm-971
KSC_5601
ibm-1363
windows-949
windows-874
cp874
ibm-1162
cp437
cp737
cp775
cp850
cp851
cp852
cp855
cp856
cp857
cp858
cp860
cp861
cp862
cp863
cp864
cp865
cp866
ibm-867
CP868
cp869
KOI8-R
ibm-901
ibm-902
cp922
KOI8-U
ibm-4909
windows-1250
windows-1251
windows-1252
windows-1253
windows-1254
windows-1255
windows-1256
windows-1257
windows-1258
macintosh
x-mac-greek
x-mac-cyrillic
x-mac-centraleurroman
x-mac-turkish
hp-roman8
Adobe-Standard-Encoding
cp1006
cp1098
cp1124
cp1125
ibm-1129
cp1131
ibm-1133
ISO-2022-JP
JIS_Encoding
ISO-2022-JP-2
ISO_2022,locale=ja,version=3
ISO_2022,locale=ja,version=4
ISO-2022-KR
ISO_2022,locale=ko,version=1
ISO-2022-CN
ISO-2022-CN-EXT
HZ-GB-2312
windows-57002
windows-57003
windows-57011
windows-57010
windows-57007
windows-57004
windows-57005
windows-57008
windows-57009
LMBCS-1
LMBCS-2
LMBCS-3
LMBCS-4
LMBCS-5
LMBCS-6
LMBCS-8
LMBCS-11
LMBCS-16
LMBCS-17
LMBCS-18
LMBCS-19
IBM037
ebcdic-de
ebcdic-dk
IBM278
IBM280
IBM284
IBM285
IBM290
IBM297
IBM420
IBM424
IBM500
ibm-803
IBM-Thai
IBM870
IBM871
cp875
IBM918
cp930
cp933
cp935
cp937
cp939
cp1025
IBM1026
IBM1047
cp1097
cp1112
cp1122
cp1123
ibm-1130
ibm-1132
ibm-1137
IBM01140
IBM01141
IBM01142
IBM01143
IBM01144
IBM01145
IBM01146
IBM01147
IBM01148
IBM01149
ibm-1153
ibm-1154
ibm-1155
ibm-1156
ibm-1157
ibm-1158
ibm-1160
ibm-1164
ibm-1364
ibm-1371
ibm-1388
ibm-1390
ibm-1399
ibm-5123
ibm-8482
ibm-16684
ibm-4899
ibm-4971
ebcdic-he
ebcdic-ar
ibm-37_P100-1995,swaplfnl
ibm-1047_P100-1995,swaplfnl
ibm-1140_P100-1997,swaplfnl
ibm-1142_P100-1997,swaplfnl
ibm-1143_P100-1997,swaplfnl
ibm-1144_P100-1997,swaplfnl
ibm-1145_P100-1997,swaplfnl
ibm-1146_P100-1997,swaplfnl
ibm-1147_P100-1997,swaplfnl
ibm-1148_P100-1997,swaplfnl
ibm-1149_P100-1997,swaplfnl
ibm-1153_P100-1999,swaplfnl
ibm-12712_P100-1998,swaplfnl
ibm-16804_X110-1999,swaplfnl
ebcdic-xml-us
<РазделительСтрок> (необязательный)

Тип: Строка.
Задается строка, являющаяся разделителем строк, из которой при чтении файла будет сформирован символ ПС.
Если строка пустая, то разделители строк при чтении не конвертируются.
Допустимые варианты разделителей строк:
ВК;
ПС;
ВК + ПС (значение по умолчанию - может не указываться).
При использовании других строк в качестве разделителей будет вызвано исключение.
Значение по умолчанию: ВК + ПС.
Описание:

Считывает текстовый документ из файла.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Пример:

// вариант 1
ТекстДок.Прочитать("catalog.txt");

// вариант 2
ТекстДок.Прочитать("catalog.txt","cp866");


--------------------------------------------------------------------------------

     Методическая информация
2 tiago
 
26.02.16
15:13
Как узнать в какой кодировке у меня файл?  Какой параметр в связи с этим выбрать?
3 tiago
 
26.02.16
15:21
(1) Изменил на:
    ТекстДок.Прочитать(ФайлВыгрузки,"cp866");

Помогло. Спасибо!
4 Garykom
 
гуру
26.02.16
15:38
(3) Учти в следующий раз предложат СП (Синтаксис Помощник со справкой по 1С) продать ;)