Здравствуйте, TolikLuzin! Вы писали:
T> Подключил dbf из VB 6.0
T> CnDBF.ConnectionString = "DSN=Файлы dBASE"
T> CnDBF.Open
T> CnDBF.DefaultDatabase = "D:\1\"
T> rsDBF.Open "table.DBF", CnDBF
T> rsDBF.Filter = "Code = 12"
T> S = rsDBF.fields("Name").Value
T> А в S
T> содержить типо: ‚Z‘’Z—?Z-‘????‘S?‰ ???S ‘?…????S? ?”
T> OemToCharBuff и CharToOEMBuff не помогают. Надо вернуть человеческий
T> текст.
Как вариант:
найти утилиту cpzero (входит в VFP6) и установить правильную codepage для dbf. Или руками поставить в хекседиторе. Смещения и циферек волшебных я не помню за давностью лет....
А в какой кодировке данные в dbf?
Posted via RSDN NNTP Server 1.7 "Bedlam"
TL>OemToCharBuff и CharToOEMBuff не помогают. Надо вернуть человеческий текст.
Странно. Во первых, надо определить в какой кодировке текст в базе. Утлиты типа DBU или DBX нормальный текст показывают? Или Far-ом в DOS кодировке текст виден?
Если базы в DOS кодировке OemToChar и CharTo должно помочь. А если не хочешь с ними возиться, сделай DSN c использованием Microsoft Dbase VPF Driver — он умеет перекодировать из Dos в виндовую кодировку "на ходу", если ему это указать в парметрах настройки.
Если в другой, надо писать дешифратор