Еще раз к вопросу о неверном отображении отдельных символов
Вот еще одно свежее (для меня, во всяком случае 😉 дополненьице.
При введении данных в поля character в форме - сначала все нормально, но при переходе в иное поле (хошь клавой, хошь мышем, хошь как 😉 некоторые русские буквы вне зависимости от того, где именно в слове они располагаются, заменяются на аглицкие, сиречь латинские. Например, вводим "русский", а при переходе в иное поле получаем "dусский". И не побороть это было никак!
Fox у меня 8-й, аглицкий (дареному коню, знаете ли...), установка полная, операционка XP Pro, т.е. все нужные файлы присутствуют. Настройки сделаны все (именованные коллегой выше и еще некоторые). Кодовые страницы - исключительно принудительные, 1251-е. Операционная система настроена вся.
Кстати,
>Т.е. надо влезть в системный реестр и поменять все ссылки с 1252 на 1251. К сожалению, я не могу указать полный перечень адресов, где такая замена необходима.
В реестре вводите строку поиска "1252" и везде, где в содержимом энта пакость проявится - прописываете "1251". Для пущей стабильности я оное действие проделал и с параметром "1250".
К сожалению, все это не помогло. Вернее, в пределах самой Фоксы - оные действия пользу принесли. Но вот при запуске компилированных приложений (от .app до TopLevel exe) - увы...
Не спасла даже подмена кодовых таблиц *.cpx на русские внутри, но с аглицкими именами.
А лечилось все до противности просто - вместо Character в редакторе структуры таблицы прописываете Character(binary), или, если таблиц много, а времени мало - делаете простую программку:
USE old.dbf
COPY STRUCTURE EXTENDED TO old_ext
SELECT b
USE old_ext
GO TOP
REPLACE field_nocp WITH .T. all FOR field_type=[C]
GO TOP
CREATE new from old_ext
Можно, конечно и лучше, но уж очень некогда было...