Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Кодовая страница / 6 сообщений из 6, страница 1 из 1
05.04.2010, 17:13
    #36561680
faustgreen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодовая страница
Есть таблица - table.dbf с кодовой страницей 866 (допустим в таблице хранится символьное значение - "строка"). Как изменить кодовую страницу для этой таблицы с 866 на 1251 так , чтобы значение хранимое в таблице осталось "строка", а не набор непонятных символов? Т.е. нужно изменить кодовую страницу без изменения отображения хранящихся в ней данных.
...
Рейтинг: 0 / 0
05.04.2010, 17:46
    #36561745
faustgreen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодовая страница
Или хотя бы подскажите, что происходит при смене кодовой страницы ?
допустим в кодировке 1251 символу "+" соответствует код 00001111, а в 866 -00001111 - это символ "\". Получается, при смене кодовой страницы с 1251 на 866, символ "+" заменится на символ "\" ?
...
Рейтинг: 0 / 0
05.04.2010, 17:52
    #36561756
Кодовая страница
faustgreen,
кроме смены кодовой страницы файла надо произвести перекодирование самих данных функциями типа oemtoansi().
...
Рейтинг: 0 / 0
05.04.2010, 18:21
    #36561818
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодовая страница
При изменении признака кодовой страницы НИЧЕГО не происходит. Совсем ничего.

Физически, любые символы - это числа. ASCII-коды. Т.е. физически на диске хранится вовсе не какой-то там символ, а код. А вот как именно этот код надо отображать и определяет признак кодовой страницы.

На хранение одного символа отводится 1 байт. Т.е. это число в диапазоне от 0 до 255. Кодовая страница - это некая таблица соответствия. Какой код какой картинкой (символом) отображать. Разумеется, в разных кодовых страницах один и тот же код может соответствовать как разным, так и одинаковым картинкам. Все зависит от этих самых "таблиц соответствия"

Признак кодовой страницы в заголовке таблицы - это "указатель". Он указывает системе как именно следует отображать ASCII-код. В какой "таблице соответствия" искать "картинку" для отображения этого кода.

Другими словами, если Вы меняете признак кодовой страницы в заголовке файла, то те же самые ASCII-коды уже будут отображаться по другому. Но сами ASCII-коды символов от этой операции не изменяться. Содержимое таблицы останется тем же самым, но отображаться будет по другому.
...
Рейтинг: 0 / 0
05.04.2010, 19:35
    #36561903
zchvv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодовая страница
Пример из Клепинин, Агафонова:

Код: plaintext
1.
2.
3.
4.
use table
?cpdbf   && 866 
copy to table1 as  1251 
use table1
?cpdbf &&  1251 
...
Рейтинг: 0 / 0
05.04.2010, 21:32
    #36562020
zchvv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кодовая страница
Конечно же,
Код: plaintext
?cpdbf()
Да это и необязательно совсем.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Кодовая страница / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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