Имя: Пароль:
1C
1C 7.7
v7: Как получить текст из файла в кодировке UTF8 ?
0 totparen
 
15.12.16
08:44
Нашёл процедуру перекодировки файла. Знатоки, помогите переписать, что бы получать сразу текст, без записи в файл.


Процедура ИзменитьКодовуюСтраницуФайла(имяФайла, исходнКодировка, нужнаяКодировка)
    Если ФС.СуществуетФайл(имяФайла) = 0 Тогда
        Сообщить("Файл " + имяФайла + " - не найден! Изменение кодировки отменено.", "!");
        Возврат;
    КонецЕсли;
    ScrptCtrl = СоздатьОбъект("MSScriptControl.ScriptControl");
    ScrptCtrl.Language = "VBScript";
    ScrptCtrl.AddCode("
        |Function StrConv(Text,SourceCharset,DestCharset)
        |    Set Stream=CreateObject(""ADODB.Stream"")
        |    Stream.Type=2
        |    Stream.Mode=3
        |    Stream.Open
        |    Stream.Charset=DestCharset
        |    Stream.WriteText Text
        |    Stream.Position=0
        |    Stream.Charset=SourceCharset
        |    StrConv=Stream.ReadText
        |End Function
        |
        |sub ConvertCodepage( fileName, SourceCharset, DestCharset )
        |    set fs = CreateObject(""Scripting.FilesystemObject"")
        |    originalText = fs.openTextFile(fileName,1).readAll()
        |    convertedText = strConv(originalText, SourceCharset, DestCharset )
        |    fs.openTextFile(fileName,2,true).write(convertedText)
        |end sub
        |
        |");
    Module        = ScrptCtrl.Modules("Global");
    CodeObject    = Module.CodeObject;
    CodeObject.ConvertCodepage(имяФайла, исходнКодировка, нужнаяКодировка);
    //ВОЗМОЖНЫЕ ВАРИАНТЫ КОДИРОВОК
    //"UTF-8"
    //"KOI8-R"
    //"Windows-1251"
    //"ISO-8859-5"
КонецПроцедуры
1 пипец
 
15.12.16
08:51
2 totparen
 
15.12.16
08:58
(1) Яндекс???
А в гугле как?
3 aka AMIGO
 
15.12.16
09:07
(2) Копируешь в буфер обмена свой топик, отрываешь гугл, paste в поле поиска свою строку, наслаждаешься © :)
5 Cool_Profi
 
15.12.16
09:12
6 aka AMIGO
 
15.12.16
09:12
7 aka AMIGO
 
15.12.16
09:13
(5) опередилииии!! :)
8 Cool_Profi
 
15.12.16
09:13
(7) А не надо посты удалять ))
9 totparen
 
15.12.16
09:14
(3)(4)(5) Не красиво.
Можно выделить заголовок и в контекстном меню выбрать "Найти в Google"