|
Sybase
|
|
|
|
|
Продукты
|
|
|
|
|
Сообщества
|
|
|
|
|
Меню
|
|
|
|
|
Вход
|
|
|
|
|
Рассылка
|
|
|
|
|
Статистика
|
|
|
|
|
Русификация ASE 12.x
|
Русификация ASE 12.x1. Грузим кодировку и сортировку в сервер:
Утитита charset.exe в каталоге bin где установлен ASE:
charset.exe -Usa -P... -S... binary.srt cp1251
Имя файла binary.srt соотвествует binary сортировке (берём нужную нам).
Кроме чарсета нужно загрузить и установить таблицу сортировки. Для русского языка без учета регистра:
charset.exe -Usa -P... -S... rusnocs.srt cp1251
sp_configure "default sortorder id",59 --код нужно в .srt смотреть
Перезагрузить нужно.
2. В ASE выполняем:
sp_configure "default character set id",53,bin_cp1251
go
shutdown
go
3. Стартуем ASE 2 раза. (Первый раз он не стартует - перестроит всё внутри и потушится, воторой раз должен стартовать).
4. В файлике locales.dat на КЛИЕНТАХ правим в разделе [NT].
locale = default, us_english, cp1251
Согласен с FAQ, но только я очень сомневаюсь насчет пункта о необходимости копирования char set -а cp850 в charset cp1251. Если сервер нормально поставлен, cp1251 ставится. Не ставиться он, если не ставить при установке доп. языки. Нужно ВКЛЮЧИТЬ дополнительные языки, но ВЫКЛЮЧИТЬ все языки, вроде китайского, японского и т.п. Тогда русский (1251) ставится.
А после копирования cp850 в charset cp1251 сервер нормально с кирилицей работать не будет.
Установка русских charsets
Установка русских Charsets. (by vvz@sybase.ru)
См. также, книгу про charsets 2.0
Введение.
Charset (character set) - это специальный набор символов (включая буквенные, цифровые, символьные и управляющие знаки). Как правило, Charset содержит знаки какого-либо алфавита (например, Latin - используется в английском языке, Cyrillic - в русском, болгарском).
Charset'ы подразделяются на языковые группы. Поддержка английских символов включена во все Charset'ы т.к. английские символы находятся в интервале до ASCII(128). Русские charset'ы находятся в GROUP5, это СР1251, СР855, СР866, IS088595, KOI8, MAC_CYR.
SQL Server позволяет производить взаимное преобразование русских charset'oв между собой.
Sort order - это набор правил по которым производится сортировка данных. Описание Sort Order находится в файлах *.srt. Обычный набор правил сортировки:
Binary sort order: Сортирует данные в соответствии с числовым кодом символа.
Dictionary order, case sensitive: Сортирует данные в алфавитном порядке (учитывая различные символы типа буквы "Ё", "i" в украинском языке). Чувствителен к регистру.
Dictionary order, case insensitive: Сортирует данные в алфавитном порядке. Нечувствителен к регистру.
Установка поддержки русских символов на SQL Server.
Выбор default character set для SQL Server'a обуславливается наиболее распространенной клиентской платформой. Это имеет следующие преимущества:
o Не всегда возможно преобразование символов в различных кодировках один к одному, что влечет потерю данных (правда это относится в основном к специальным символам и, потому, несущественно).
o Минимизируются перекодировки.
Рекомендуется выбрать Charset до создания пользовательских баз и изменений в базах SQL Server. Если Вы измените default Charset после того как данные были добавлены Вам необходимо будет произвести перекодировку данных (см. System Administration Guide).
Далее:
$CHARSETS = каталог с дистрибутивом charset'oв (как правило CD-ROM)
$SYBASE = каталог Sybase (SQL Server, Open Client.etc.).
1. Общая часть:
1. (Для Adaptive Server -11.9) Копировать $CHARSETS/CHARSETS/GROUP5/* в $SYBASE/charsets/ (каталоги с содержимым)
2. (Для Adaptive Server -11.9) Копировать $CHARSETS/convtbls/group5/* в $SYBASE/charsets/
3. (Для Adaptive Server -11.9) Копировать $CHARSETS/convtbls/unicode/utf8/* в $SYBASE/charsets/UTF8/
4. (Для Adaptive Server -11.9) Править $SYBASE/charsets/UTF8/utf8.cfg - убрать комментарий (;) перед нужными русскими charset'aми.
5. (Для Adaptive Server -11.9) Копировать $CHARSETS/LOCALES/GROUP5/* в $SYBASE/locales/us_english/
6. (Для Adaptive Server -11.9) в русских locales (см.,например, $SYBASE/locales/us_english/koi8) даны лишь 2 файла : server.loc и common.loc - недостающие надо скопировать из $SYBASE/locales/us_english/iso_l
7. (Для Adaptive Server -11.5) - скопировать $CHARSETS/LOCALES/objectid.dat в $SYBASE/ini/objectid.dat
8. в $SYBASE/locales/locales.dat установить default charset (Для Open client) например: для WindowsNT - найти секцию [NT] и написать: locale = default, us_english, cpl251
2. Для сервера
1. Загрузить default character set. Для этого запустить:
$SYBASE/bin/charset charset -U sa -P sapassword -S servername sortorder charset
например:
charset -U sa -P myOwnPassword binary.srt cp1251
(есть еще cyrdict.srt, cyrnocs.srt, rusdict.srt, rusnocs.srt)
2. Загрузить дополнительные character set. Для этого запустить:
$SYBASE/bin/charset charset -U sa -P sapassword -S servername charset.loc charset
например:
charset -U sa -P myOwnPassword charset.loc cp866
3. Зайти isql на сервер и выполнить запрос: select id,csid,name from syscharsets (для bin_cp1251 посмотреть csid - пусть, например это 53)
4. выполнить sp_configure "default sortorder id ", sort order id, "character set" например:
l>sp_configure "default sortorder id ", 53 ,"cpl251 "
2>go
5. Перезапустить сервер (дважды).
l>shutdown
2>go
Ребята, все это в процитированном письме от sybase.ru правильно, но только пункт (1) про копирование был актуален только для старых версий ASE, до 11.9 включительно. Начиная с 12.0 никакие cgharset-ы никуда копировать не надо ни на сервере, ни на клиенте, если он нормально установлен. Нужно только при установке сказать, что требуется установка поддержки дополнительных языков (но восточные ставить не нужно).
|
Дата публикации: Wednesday 29 March 2006 13:03:22 Материал прочитан: 14209 раз(а) [ Назад ] |
|
|
|
|
|
|
Copyright©2005 . Все права защищены.
|