|
v7: Существует ли способ из 1С 7.7 преобразовать CSV файл из ANSI в UTF-8 ? | ☑ | ||
---|---|---|---|---|
0
dimm7310
12.04.12
✎
10:16
|
?
|
|||
1
bodri
12.04.12
✎
10:17
|
а почему бы и нет? можно саму составить таблицу перекодировки.
|
|||
2
zak555
12.04.12
✎
10:17
|
> CSV файл
так что по-твоему за файл этот ? |
|||
3
bodri
12.04.12
✎
10:19
|
(2) wiki:CSV
|
|||
4
toypaul
гуру
12.04.12
✎
10:20
|
прочитать как ANSI, записать как UTF-8
не? |
|||
5
zak555
12.04.12
✎
10:20
|
(3) я обычно встречал ";"
|
|||
6
toypaul
гуру
12.04.12
✎
10:21
|
ТекстовыйДокумент вроде умеет в UTF-8 писать
|
|||
7
dimm7310
12.04.12
✎
10:29
|
(6) если ты про КодоваяСтраница
КодоваяСтраница(<?>) Синтаксис: КодоваяСтраница(<Режим>) Назначение: Установить режим кодировки текста. Возвращает: текущее числовое значение режима кодировки (на момент до исполнения метода). Параметры: <Режим> : 0 - windows-кодировка, 1 - DOS-кодировка. |
|||
8
toypaul
гуру
12.04.12
✎
10:39
|
а 7.7. сбило с толку что v8 стоит.
я использовал внешнюю утилиту для перекодировки |
|||
9
miki
12.04.12
✎
10:44
|
Перекодировка txt в utf-8. Adodb.Stream не работает. Что делать?
UTF-8 Еще один метод преобразования в UTF-8 (с побочным явлением) Загрузка текстового файла UTF-8 Как прочитать файл *.csv в UTF-8? Как прочитать файл XML с кодировкой UTF-8? Книга знаний: Перекодировщик из UTF-8 в Windows-1251 и обратно кодировка текста в файлах созданных Scripting.FileSystemObject Кодировка UTF8 Unicode utf8 Книга знаний: Пример чтения и записи текстовых файлов (Scripting.FileSystemObject) Как записать текстовый файл в Юникоде Кодировка текста utf. |
|||
10
nicxxx
12.04.12
✎
10:49
|
Функция ПреобразоватьСтрокуВУТФ8(Стр)
Длина=СтрДлина(Стр); Итог=""; Для Н=1 По Длина Цикл Знак=Сред(Стр,Н,1); Код=КодСимв(Знак); Если Код<128 Тогда Итог=Итог+Знак; Иначе Если (Код>=КодСимв("А"))И(Код<=КодСимв("п")) Тогда Итог=Итог+Симв(208)+Симв(144+Код-КодСимв("А")); ИначеЕсли (Код>=КодСимв("р"))И(Код<=КодСимв("я")) Тогда Итог=Итог+Симв(209)+Симв(128+Код-КодСимв("р")); ИначеЕсли (Знак="ё") Тогда Итог=Итог+Симв(209)+Симв(145); ИначеЕсли (Знак="Ё") Тогда Итог=Итог+Симв(208)+Симв(129); КонецЕсли; КонецЕсли; КонецЦикла; Возврат Итог; КонецФункции |
|||
11
andrewks
12.04.12
✎
10:50
|
(10) зачем велосипеды с квадратными колёсами, когда всё делается штатно?
|
|||
12
nicxxx
12.04.12
✎
10:54
|
(11) в 7.7 штатно utf-8 ? научи, а
|
|||
13
andrewks
12.04.12
✎
10:56
|
(12) О_о сбило с толку v8: в теме
но в любом случае, даже в 7.7 это делается штатными средствами системы, через adodb, можно даже минуя запись/чтение в файл сделать, сразу в памяти |
|||
14
dimm7310
12.04.12
✎
11:35
|
(13) а нет ли примера?
|
|||
15
nicxxx
12.04.12
✎
11:43
|
||||
16
nicxxx
12.04.12
✎
11:44
|
или в яндексе набери adodb.stream
|
|||
17
andrewks
12.04.12
✎
11:46
|
(15) FSO не умеет, нужен именно (16)
|
|||
18
miki
12.04.12
✎
11:50
|
(14)ты (9) осилил?
|
|||
19
dimm7310
12.04.12
✎
12:47
|
вот нашел, сейчас проверяю
Процедура Сформировать() Перем Имя,Путь; Байт=255; Если ФС.ВыбратьФайл(0,Имя,Путь,"","Файлы|*","*")=0 Тогда Возврат; КонецЕсли; СтримВход=СоздатьОбъект("ADODB.Stream"); СтримВход.Type=2; СтримВход.charset="windows-1251"; СтримВход.Open(); СтримВход.LoadFromFile(Путь+Имя); СтримВыход=СоздатьОбъект("ADODB.Stream"); СтримВыход.Type=2; СтримВыход.charset="utf-8"; СтримВыход.LineSeparator=-1; СтримВыход.Open(); Всего=СтримВход.size; Пока СтримВход.EOS=0 Цикл СтримВыход.WriteText(СтримВход.ReadText(Байт),?(Байт=-2,1,0)); Состояние("" + Формат(100 * СтримВход.position/Всего,"Ч(0)5.2")+"%"); КонецЦикла; СтримВыход.SaveToFile(Путь+Имя+".utf8",2); КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |