![]() |
![]() |
|
Загрузка текстового файла UTF-8 | ☑ | ||
---|---|---|---|---|
0
FatDJ
16.09.10
✎
11:23
|
Банк-клиент выдает выписку в известном формате, txt-файл, только он в кодировке UTF-8. Понятно, что я могу в ворде открыть и пересохранить, но нет ли возможности как-то не покидая 1С всё-таки её (выписку) сожрать? Спсб.
|
|||
1
filh
16.09.10
✎
11:30
|
поставить в выгрузке другой формат.
|
|||
2
FatDJ
16.09.10
✎
11:31
|
я, к сожалению, на банк не могу повлиять, есть только вот такое.
|
|||
3
filh
16.09.10
✎
11:31
|
+1
Функция ПреобразоватьСтрокуВУТФ8(Стр) Длина=СтрДлина(Стр); Итог=""; Для Н=1 По Длина Цикл Знак=Сред(Стр,Н,1); Код=КодСимв(Знак); Если Код<128 Тогда Итог=Итог+Знак; Иначе Если (Код>=КодСимв("А"))И(Код<=КодСимв("п")) Тогда Итог=Итог+Симв(208)+Симв(144+Код-КодСимв("А")); ИначеЕсли (Код>=КодСимв("р"))И(Код<=КодСимв("я")) Тогда Итог=Итог+Симв(209)+Симв(128+Код-КодСимв("р")); ИначеЕсли (Знак="ё") Тогда Итог=Итог+Симв(209)+Симв(145); ИначеЕсли (Знак="Ё") Тогда Итог=Итог+Симв(208)+Симв(129); КонецЕсли; КонецЕсли; КонецЦикла; Возврат Итог; КонецФункции Функция ПреобразоватьСтрокуИзУТФ8(Стр) Длина=СтрДлина(Стр); Итог=""; Для Н=1 По Длина Цикл Знак=Сред(Стр,Н,1); Код=КодСимв(Знак); Если Код<128 Тогда Итог=Итог+Знак; ИначеЕсли (Код>=128)И(Код<192) Тогда Иначе Н=Н+1; Знак2=Сред(Стр,Н,1); Код2=КодСимв(Знак2); Если Код=208 Тогда Если Код2=129 Тогда Итог=Итог+"Ё"; Иначе Итог=Итог+Симв(КодСимв("А")+Код2-144); КонецЕсли; ИначеЕсли Код=209 Тогда Если Код2=145 Тогда Итог=Итог+"ё"; Иначе Итог=Итог+Симв(КодСимв("р")+Код2-128); КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; Возврат Итог; КонецФункции http://infostart.ru/public/18816/ |
|||
4
filh
16.09.10
✎
11:32
|
+3 первая же ссылка в поисковике...
|
|||
5
FatDJ
16.09.10
✎
11:33
|
Спасибо огромное, буду пробовать!
|
|||
6
DJ Anthon
16.09.10
✎
11:34
|
привет, коллега )
|
|||
7
FatDJ
16.09.10
✎
11:34
|
Я честно искал перед тем, как задать вопрос)) Видимо, недостаточно хорошо. Спасибо еще раз за помощь.
|
|||
8
FatDJ
16.09.10
✎
11:35
|
(6) Приветствую! ))
|
|||
9
skunk
16.09.10
✎
11:35
|
а чтоокодировку текста в utf-8 не судьба использовать?
|
|||
10
FatDJ
16.09.10
✎
11:36
|
(9) Извините, не понял вопрос.
|
|||
11
skunk
16.09.10
✎
11:42
|
чтТекст = новый ЧтениеТекста(стрИмяФайла, КодировкаТекста.UTF8);
стрСтрока = чтТекст.ПрочитатьСтроку(); пока не стрСтрока = неопределено цикл сообщить(стрСтрока); стрСтрока = чтТекст.ПрочитатьСтроку(); конеццикла; |
|||
12
filh
16.09.10
✎
11:44
|
(11)
:) |
|||
13
Fragster
гуру
16.09.10
✎
11:51
|
(3) жесть!
|
|||
14
skunk
16.09.10
✎
11:51
|
(12)не работает что-ли?
|
|||
15
DJ Anthon
16.09.10
✎
11:52
|
(11) ща он кааааааааак перейдет на 8ку резко так....
|
|||
16
Fragster
гуру
16.09.10
✎
11:52
|
// Сохраняем файл в кодировке UTF-8
Stream = CreateObject("Adodb.Stream"); Stream.Charset="utf-8"; Stream.Type = 2; Stream.Mode= 3; Stream.Open(); Stream.WriteText(ИсхСтрока); Stream.SaveToFile(КаталогПользователя()+"test.dot",2); |
|||
17
Fragster
гуру
16.09.10
✎
11:53
|
(16)+ собственно, загрузка почти также происходит
|
|||
18
skunk
16.09.10
✎
11:53
|
(15)упс ... думал про восмерку спрашивали
|
|||
19
FatDJ
16.09.10
✎
11:55
|
(11) бодрячком! ))) спасибо за участие!
(16) спасибо, буду пробовать! |
|||
20
smaharbA
16.09.10
✎
12:18
|
утф8 загружается даже командной строкой в виндуз
|
|||
21
smaharbA
16.09.10
✎
12:18
|
(19) ты мене спасибо говори, а не (16)
|
|||
22
smaharbA
16.09.10
✎
12:19
|
+ загружается несколько иначе, ставится вин1251 загружается, позиуионируется на ноль и меняется на утф8
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |