(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Работа с русскими кодовыми страницами

Источник: sgml

Не все сервера баз данных обеспечивают правильную работу с русскими буквами. В большинстве случаев проблема сводится к довольно незначительным, но досадным ошибкам:

1.  Не работают функции Upper и Lower.

2.  Символы сортируются в порядке текущей кодовой страницы (WIN1251), т.е. "ЁёАБВ...Яабв...я"

Решить первую проблему очень легко, если сервер поддерживает функцию TRANSLATE. Например, для PostgreSQL (имеется ввиду стандартная сборка из комплекта cygwin, в то время как правильно собранный сервер и сам нормально работает с русскими кодировками) это будет выглядеть примерно так:

CREATE FUNCTION "w_upper"("varchar") 
RETURNS "varchar" AS '
SELECT TRANSLATE($1, ''abcdefghijklmnopqrstuvwxyzёабвгдежзийклмнопрстуфхцчшщъыьэюя'',
                     ''ABCDEFGHIJKLMNOPQRSTUVWXYZЁАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'')
' LANGUAGE 'sql';
 
CREATE FUNCTION "w_lower"("varchar") 
RETURNS "varchar" AS '
SELECT TRANSLATE($1, ''ABCDEFGHIJKLMNOPQRSTUVWXYZЁАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'',
                     ''abcdefghijklmnopqrstuvwxyzёабвгдежзийклмнопрстуфхцчшщъыьэюя'')
' LANGUAGE 'sql';

Вторую задачу можно решить как минимум двумя способами, суть которых заключается в том, чтобы не дать Access'у перестроить запрос к серверу и таким способом заставить его включить свой собственный механизм сортировки.

1.  Необходимо создать запрос к серверу, который возвращал бы нужные записи. Далее, на основе этого запроса создать обычный запрос, в котором указать требуемый порядок сортировки. Разумеется, такой запрос будет необновляемым.

2.  Создать обычный запрос на основе присоединенной таблицы сервера, в котором задать сортировку по выражению, например "ORDER BY "" & MyTable.MyField". Такой запрос будет обновляемым, если тому не препятствуют обычные ограничения.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 06.05.2008 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год.
Microsoft Windows Professional 10, Электронный ключ
Microsoft 365 Business Basic (corporate)
Microsoft Office 365 Профессиональный Плюс. Подписка на 1 рабочее место на 1 год
Microsoft Office для дома и учебы 2019 (лицензия ESD)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Компьютерные книги. Рецензии и отзывы
Corel DRAW - от идеи до реализации
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100