|  |   |   | 
  
|  | Странная кодировка DBF | ☑ | 
    
        | 0
    
        stmnf   22.03.15✎ 21:48 | 
        Иногда присылают файлы, которые не читаются нормально ни в кодировке ANSI ни OEM. Читаются только с помощью такого преобразования:
 Стр = Б.ПолучитьЗначениеПоля(Поле.Имя);
 Стрим.charset="windows-1251";
 Стрим.Open();
 Стрим.WriteText(Стр);
 Стрим.Position=0;
 Стрим.charset="CP866";
 Рез=Стрим.ReadText(-1);
 Стрим.Close();
 
 Это каким образом они так кодируют? Как им сказать, что они делают не так?
 |  | 
    
        | 1
    
        ДенисЧ   22.03.15✎ 21:49 | 
        Скажи им, чтобы так больше не делали.
А вобще - лучше покажи файлик...
 |  | 
    
        | 2
    
        stmnf   22.03.15✎ 21:51 | 
        А как тут прикрепить?     |  | 
    
        | 3
    
        stmnf   22.03.15✎ 21:56 | 
        Да, Стрим - это вот что:
 Стрим = Новый COMОбъект("Adodb.Stream");
 Стрим.Type = 2;
 Стрим.Mode= 3;
 
 Просто выдрал из какого-то примера, забыл уже из какого точно. Думал сначала, там UTF, но в итоге подобрал вышеупомянутый вариант :)
 |  | 
    
        | 4
    
        Torquader   22.03.15✎ 22:01 | 
        Если при записи поставить кодировку cp866, а символы писать в Windows, то именно это и получится - раньше это называлось - двойное перекодирование.     |  | 
        Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший