:: Архив конференции по VFP до 2005 года
Русские базы VFP под китайским Windows
MegaVolt
Автор

Сообщений: 16
Дата регистрации: 05.10.2000
По порядку:
1. Написал прогу на VFP - большой справочник фирм-производителей России (порядка 150000 наименований) - под русскими/буржуйскими Виндами - все зашибись (CP-1251)
2. Ставлю прогу под китайскими виндами (в Китае прога должна продаватся) - полная туфта в таблицах (в китайском виндузе есть поддержка русского)
3. Пытался перекодировать - почувствовал себя верблюдом
4. Вышел из положения так - под китайскими виндами установил VFP, получил ASC-коды всех русских букв (с помощью функции ASC(), так код буквы А получается 49837)
5. Получил таблицу соответствий, написал программу замены кодов (тупо Scan...Endscan по всем полям таблиц)
6. Все работает, но методика довольно туповатая
Может кто-нибудь может предложить более лучший вариант?
Ratings: 0 negative/0 positive
Попробуй CPCONVERT()
ВладимирМ

Сообщений: 14098
Откуда: Москва
Дата регистрации: 02.09.2000
Сам не пробовал, но возможно поможет. При чтении и записи символьных полей попробуй использовать функцию CPCONVERT().
Можно еще попробовать совсем тупо: при инсталяции программы создавать новую копию базы данных в нужной кодировке (правда обновление....!?)
Ratings: 0 negative/0 positive
RE: Попробуй CPCONVERT()
MegaVolt
Автор

Сообщений: 16
Дата регистрации: 05.10.2000
Все это хорошо - одна беда: не поможет
Но все равно спасибо (хотя бы за участие)
Ratings: 0 negative/0 positive
Еще вариант
ВладимирМ

Сообщений: 14098
Откуда: Москва
Дата регистрации: 02.09.2000
Не пробовал в config.fpw в китайском windows явно прописать CODEPAGE=1251.

Может дешевле будет сделать отдельный проект в китайском варианте?
Насколько я понимаю дело не только в самих данных, но и в кодовой странице всех форм. Попробуй через cpzero.prg переназначить кодовую страницу фсех форм на китайскую (и у самого проекта тоже), заново его скомпилить и запустить на китайском windows.
Ведь ситуация абсолютно повторяет ситуацию использования "в лоб" примеров из Solution - там все в 1252 и когда запускашь без переназначения кодовой страницы получаешь ерунду.
Ratings: 0 negative/0 positive
RE: Еще вариант
MegaVolt
Автор

Сообщений: 16
Дата регистрации: 05.10.2000
В лоб нифига она не повторяет - забыл сказать я наверное - там кодовая страница 936, все методы предложенные тобой я естественно давно уже перепробовал - не идет. И не идет потому, что в том месте где в 936 странице должны кодироваться русские буквы находится либо псевдографика, либо еще какая-нибудь фигня (по крайней мере в Китайских виндах). Русские буквы в тот же Word можно вбить только мышью с помощью спецпроги (они кодируются вообще в левом месте и вразброс). Так что спасибо за предложение - но ... :-(
P.S. похоже мой вариант единственный... :-(
Ratings: 0 negative/0 positive


Извините, но у вас нет прав для того, чтобы оставлять сообщения в этом форуме.

On-line: 5 (Гостей: 5)

© 2000-2024 Fox Club 
Яндекс.Метрика