Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подскажите, как заставить FoxPro отображать содержимое таблиц в нужной кодировке? / 13 сообщений из 13, страница 1 из 1
08.02.2009, 19:51
    #35804488
Shinkonsen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как заставить FoxPro отображать содержимое таблиц в нужной кодировке?
Как заставить FoxPro отображать содержимое таблиц в нужной кодировке?
Нужно чтобы таблицы открывались в кодировке 1252 и не происходило замещение некоторых символов кирилицей.
?CPDBF() //выдает 1252
?CPCURRENT() //тоже выдает 1252
данные при этом отображаются криво
...
Рейтинг: 0 / 0
09.02.2009, 03:47
    #35804782
reware
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как заставить FoxPro отображать содержимое таблиц в нужной кодировке?
ShinkonsenКак заставить FoxPro отображать содержимое таблиц в нужной кодировке?
Нужно чтобы таблицы открывались в кодировке 1252 и не происходило замещение некоторых символов кирилицей.
?CPDBF() //выдает 1252
?CPCURRENT() //тоже выдает 1252
данные при этом отображаются криво

Стало быть где-то до того таблицу пометили кодовой страницей 1252, хотя она таковой не была.
Смените признак кодовой страницы в таблице (байт 29 заголовка) перед ее открытием. Это можно сделать программно, подбирая нужный байт, или сначала обнулить байт кодовой страницы через CPZERO.PRG, а при открытии таблицы выбрать из списка одну из альтернатив. Тогда в заголовок пропишется заданный признак и больше проблем не будет. Подробнее о структуре DBF - см. Help к VFP.
...
Рейтинг: 0 / 0
09.02.2009, 08:44
    #35804857
Shinkonsen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как заставить FoxPro отображать содержимое таблиц в нужной кодировке?
Мне нужно, чтобы FoxPro, правильно отображал информацию.
Если это буква "А" с двумя точками, то она и должна быть, а не символ "Д"
Любые манипуляции с 29 байтом ни к чему не приводят. Даже когда фокс спрашивает в какой кодировке открыть.
...
Рейтинг: 0 / 0
09.02.2009, 09:47
    #35804949
Подскажите, как заставить FoxPro отображать содержимое таблиц в нужной кодировке?
ShinkonsenМне нужно, чтобы FoxPro, правильно отображал информацию.
Если это буква "А" с двумя точками, то она и должна быть, а не символ "Д"
Любые манипуляции с 29 байтом ни к чему не приводят. Даже когда фокс спрашивает в какой кодировке открыть.
А в используемом для отображения шрифте есть эта самая "А" с двумя точками?
...
Рейтинг: 0 / 0
09.02.2009, 09:50
    #35804958
Kruchinin Pahan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как заставить FoxPro отображать содержимое таблиц в нужной кодировке?
ShinkonsenМне нужно, чтобы FoxPro, правильно отображал информацию.
Если это буква "А" с двумя точками, то она и должна быть, а не символ "Д"
Любые манипуляции с 29 байтом ни к чему не приводят. Даже когда фокс спрашивает в какой кодировке открыть.
Любые манипуляции здесь вам не помогут. DBF в общем, и FoxPro в частности, работают с однобайтовой кодировкой символьных данных. Это значит, что символ "А" с двумя точками кодируется одним и тем же байтом с символом "Д" русским ASC("Д")=196.

Если вы хотите отобразить символ со 196 кодом так, как это заложено стандарте ANSI-США, например, то надо использовать соответствующий не кириллический шрифт.
...
Рейтинг: 0 / 0
09.02.2009, 09:53
    #35804966
Shinkonsen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как заставить FoxPro отображать содержимое таблиц в нужной кодировке?
У меня опыт решения подобных вопросов не большой. Шрифт стандартный Courier New. Неужели у Courier New нет возможности отображения европейской кодировки?
Вообще, меня больше волнует правильность сортировки при выполнении запросов.
...
Рейтинг: 0 / 0
09.02.2009, 09:54
    #35804970
Kruchinin Pahan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как заставить FoxPro отображать содержимое таблиц в нужной кодировке?
Shinkonsen,

Попробуйте, например, такой шрифт.
BROWSE FONT "Modern"
...
Рейтинг: 0 / 0
09.02.2009, 09:57
    #35804979
Shinkonsen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как заставить FoxPro отображать содержимое таблиц в нужной кодировке?
Всем спасибо за участий, попробую поменять шрифт.
А что по поводу сортировки?
...
Рейтинг: 0 / 0
09.02.2009, 10:15
    #35805029
Shinkonsen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как заставить FoxPro отображать содержимое таблиц в нужной кодировке?
Kruchinin Pahan, СПАСИБО
Шрифт помог. Есть еще один маленький вопрос.
Правильно ли проводилась сортировка если ASCII код букв был одинаковым?
...
Рейтинг: 0 / 0
09.02.2009, 11:35
    #35805253
Galyamov Rinat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как заставить FoxPro отображать содержимое таблиц в нужной кодировке?
Это зависит от set collate


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
09.02.2009, 11:51
    #35805307
Kruchinin Pahan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как заставить FoxPro отображать содержимое таблиц в нужной кодировке?
ShinkonsenKruchinin Pahan, СПАСИБО
Шрифт помог. Есть еще один маленький вопрос.
Правильно ли проводилась сортировка если ASCII код букв был одинаковым?
Здесь надо смотреть настройки SET("Collate")
Настройка SET COLLATE указывает посимвольный порядок сортировки. Например, на равенство строчных и прописных букв при сортировке:
Код: plaintext
1.
2.
3.
Пава
паша
Паша
Для вашего случая лучше всего SET COLLATE TO "MACHINE" и тогда сортировка будет производиться в порядке возрастания ASC-II кодов.
...
Рейтинг: 0 / 0
11.02.2009, 11:58
    #35810209
Shinkonsen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как заставить FoxPro отображать содержимое таблиц в нужной кодировке?
Kruchinin Pahan,

Вы уж извините меня, но помоему все это не работает

SET COLLATE TO "MACHINE"
BROWSE FONT "Modern"
SELECT UPPER(f1) AS nm, f1, f2, f3;
FROM ;
table
ORDER BY 1

вывод, производится с использованием другого шрифта, сортировка происходит не правильно((
Да, возможно у меня кривые руки, так как с фоксом общаюсь всего несколько дней. Но ...
...
Рейтинг: 0 / 0
11.02.2009, 12:53
    #35810469
Kruchinin Pahan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как заставить FoxPro отображать содержимое таблиц в нужной кодировке?
Shinkonsen,

Если вы выдаете команды в том порядке, в котором здесь показали, то
1. BROWSE FONT "Modern" что? Что попало. Более того, следующая команда закроет предыдущий BROWSE.
2. UPPER(f1) при Set("COLLATE")=="MACHINE" работает только с английскими буквами.
3. SELECT ..., эта команда автоматически запустить окно BROWSE, при этом шрифт окна будет шрифтом по-умолчанию (факт не Modern)

Покажите данные (можете приложить файл), которые вы пытаетесь отсортировать "правильно" и поясните, что значит для вас "правильно".

Вполне возможно, ваше правильно требует каких-то особых правил сортировки.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подскажите, как заставить FoxPro отображать содержимое таблиц в нужной кодировке? / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]