Visual FoxPro показывает данные, используя одну кодовую страницу. По умолчанию, это - текущая кодовая страница, используемая Windows. Однако, Вы можете заменить кодовую страницу , определив альтернативную кодовую страницу в вашем файле конфигурации (Вы должны определить допустимую кодовую страницу).

Таблицы в Visual FoxPro помечены кодовой страницей, которая была установлена, когда таблица была создана. Когда Вы открываете таблицу, Visual FoxPro проверяет кодовую страницу таблицы. Если она соответствуют текущей кодовой странице, Visual FoxPro показывает данные, как есть. Если таблица не помечена кодовой страницей (например, таблица был создан в более ранней версии FoxPro), Visual FoxPro запрашивает кодовую страницу и затем помечает файл ей.

При чтении данных из таблицы  с кодовой страницей, которая не соответствует, кодовой странице системы, Visual FoxPro пытается конвертировать символы из кодовой страницы таблицы в текущую. Например, если текущая кодовая страница системы - английская, и символ представлен в ANSI значением  252, а кодовая страница таблицы представляет этот символ как ANSI 219, Visual FoxPro конвертирует все ANSI 219 в ANSI 252 так, чтобы они выглядели должным образом.

Трансляция Кодовой страницы не всегда работает правильно, потому что кодовые страницы обычно содержат символы, которые не представлены взаимно однозначныо в других кодовых страницах. Например, Вы не можете отображать данные, который содержит символы псевдографики для таблиц MS DOS в Windows, потому что кодовые страницы Windows не содержат символы псевдографики для таблиц. Точно так же Вы не можете транслировать данные, созданные в Российской кодовой странице в Английскую кодовую страницу, потому что не имеется взаимно-однозного соответствия между алфавитами для этих языков. Наконец, Visual FoxPro не мог бы содержать символьную карту трансляции для специфической кодовой страницы. В том случае данные отображены без трансляции кодовой страницы. (Visual FoxPro не отображает ошибку указывающую, что трансляция кодовой страницы невозможна.) В любой из этих ситуаций некоторые символы могут отображаться неверно.

При записи данных в таблицу, отмеченную кодовой страницей не соответствующей системной кодовой странице, и символьные данные изменяются, Visual FoxPro пытается транслировать символы с текущей кодовой страницы в кодовую страницу таблицу. Например, если вы используете Visual FoxPro, и текущая системная кодовая страница - Английская, символ представлен ANSI значением 252, а кодовая страница для таблицы представляет символ как ANSI  219, Visual FoxPro транслирует все символы ANSI 252 в ANSI 219 так, чтобы они были сохранены должным образом.

Если Вы хотите создать приложение для определенного языка, Вы можете избежать проблем трансляции кодовой страницы,  создавая компоненты приложения, использующие кодовую страницу, предназначенную для этого языка. Например, чтобы создать приложение для использования в России, Вы должны использовать кодовую страницу 1251. Для полного списка, см. Кодовые страницы, поддерживаемые Visual Fox.

Если Вам надо ввести некоторые символы, не представленные на вашей клавиатуре, Вы можете вводить эти символы, используя ALT вместе с цифровой клавиатурой. Однако, помните, что та же самая комбинация клавиш в различных средах часто отображает различные результаты. Например, если Вы вводите ALT+0182, а в Visual FoxPro кодовая страница 1252 , Вы видите символ параграфа. А если Вы вводите ALT+0182 с кодовой страницей 437 в FoxPro для MS DOS, Вы видите символ псевдографики в виде двойной вертикальной линии, в которую входит одиночная горизонтальная линия.

Хотя Visual FoxPro поддерживает много кодовых страниц, только несколько используются часто. Как правило, англо-говорящие пользователи используют кодовую страницу 1252.

При работе с кодовыми страницами, убедитесь что, интерфейс пользователя и данные отображаются правильно  при использовании кодовой страницы, предназначенной для специфического языка. Если Вы видите неожиданные символы на экране, проверьте основную кодовую страницу.

См. также