Имя: Пароль:
1C
1С v8
Не меняется кодировка изначально UTF8
0 1c_solop
 
16.03.20
08:12
ТекстДокумент = Новый ТекстовыйДокумент;
ТекстДокумент.Прочитать(ОбъектС.Каталог+"\456.xml");
кодировка = КодировкаТекста.ANSI;
ТекстДокумент.Записать(ОбъектС.Каталог+"\457.txt", кодировка);
1 1c_solop
 
16.03.20
08:13
UTF8 на ANSI
2 Кирпич
 
16.03.20
08:33
Да прям. У всех меняется, а у тебя нет?
Небось в файле encoding="UTF-8" написано
3 Сияющий в темноте
 
16.03.20
08:40
а читаешь ты в ней же?
utf8 вполне себе ansi,если глазами не смотреть.
4 Сияющий в темноте
 
16.03.20
08:42
по умолчанию у текста кодировка utf16,но должен определять по Byte Order Mark.
опять же,отсутствие нулей часто рассматривается как ansi.
5 Кирпич
 
16.03.20
08:44
так попробуй

ТекстДокумент.Прочитать(ОбъектС.Каталог+"\456.xml",КодировкаТекста.UTF8);
6 1c_solop
 
16.03.20
08:45
3 при открытии нормально читается
<?xml version="1.0" encoding="UTF-8"?>
<basketcreate>
    <order number='FR_7952'>
    <error error='pvzcode' errorCode='28' errorMessage='Отсутствует код ПВЗ' />
    <error error='date' errorCode='17' errorMessage='Прием заявок на эту дату указанным способом доставки завершился.' />
    <error error='quantity' errorCode='21' errorMessage='Отправлять многоместные заказа невозможно при доставке через партнеров'
При выводе через 1с
<?xml version="1.0" encoding="UTF-8"?>
<basketcreate>
    <order number='FR_7952'>
    <error error='pvzcode' errorCode='28' errorMessage='Отсутствует РєРѕРґ РџР’Р—' />
    <error error='date' errorCode='17' errorMessage='Прием заявок РЅР° эту дату указанным СЃРїРѕСЃРѕР±РѕРј доставки завершился.' />


При открытии файла кодировка стоит старая
7 acht
 
16.03.20
08:45
(0) Юлия Сергеевна, а у вас хоть русские буквы-то в этом файле есть?
8 acht
 
16.03.20
08:47
<?xml version="1.0" encoding="UTF-8"?>

Не просто так написано
9 1c_solop
 
16.03.20
08:50
Файл = Новый ЧтениеТекста(ОбъектС.Каталог+"\456.txt",КодировкаТекста.ANSI);

ВесьФайлОднойСтрокой = Файл.Прочитать();
Сообщить(ВесьФайлОднойСтрокой);
10 1c_solop
 
16.03.20
08:51
(8) Сейчас попробую поменять
11 1c_solop
 
16.03.20
08:56
не помогло.
12 Кирпич
 
16.03.20
08:57
Просто, при открытии файла, 1с определяет его как ANSI, потому что в файле нет BOM. Нужно явно указать кодировку при открытии как в (5)
13 1c_solop
 
16.03.20
09:07
(12) не помогло
14 1c_solop
 
16.03.20
09:07
ТекстДокумент.ПолучитьСтроку(5)    "   <error error='date' errorCode='17' errorMessage='Прием заявок РЅР° эту дату указанным СЃРїРѕСЃРѕР±РѕРј доставки завершился.' />"    Строка
15 ptiz
 
16.03.20
09:11
(14) Читай в "правильной" кодировке, потом делай ПолучитьСтроку() и записывай в новый ТекстовыйДокумент.
16 Кирпич
 
16.03.20
09:33
(13) значит файл не UTF-8
17 1c_solop
 
16.03.20
11:33
(15) ТекстДокумент = Новый ТекстовыйДокумент;

кодировка = КодировкаТекста.ANSI;
ТекстДокумент.Прочитать(ОбъектС.Каталог+"\456.xml",Кодировка);
текст=ТекстДокумент.ПолучитьСтроку(5);
Сообщить(Текст);

Что не так?
18 Кирпич
 
16.03.20
11:40
(17) ёпрст

ТекстДокумент = Новый ТекстовыйДокумент;
ТекстДокумент.Прочитать(ОбъектС.Каталог+"\456.xml",КодировкаТекста.UTF8);
ТекстДокумент.Записать(ОбъектС.Каталог+"\457.txt", КодировкаТекста.ANSI);
19 Кирпич
 
16.03.20
11:41
это если 456.xml действительно в UTF8
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.