powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / проблема с кодировкой
10 сообщений из 10, страница 1 из 1
проблема с кодировкой
    #34231631
vandat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASE 12.5
При коннекте через ODBС (Central, Artisan) при выполнение запросов из базы льется информация в кодировки KOI8, однако при попытки в закладке "Connection" в поле "Charset" указать кодировку CP1251 драйвер благополучно выводит сообщение, что не может преобразовать данные в 1251 из iso_1.
А теперь вопрос? Что делать?
PS:База рабочая и содержит кучу инфы?
...
Рейтинг: 0 / 0
проблема с кодировкой
    #34231792
sn1251
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"Кто виноват? И что делать?"
Для начала: ни централ, ни артизан не используют ODBC.
Осталось определить, кто же виноват из оставшихся подозреваемых:
1) OpenClient - есть ли сharsets\cp1251? что в locales.dat, секция [NT]?
2) сервер - залиты ли перекодировочные таблицы? select * from master..syscharsets
3) артизан - какая версия?

Что выдаcт
Код: plaintext
isql -J cp1251 -S ... 
?
...
Рейтинг: 0 / 0
проблема с кодировкой
    #34232538
vandat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
имелось ввиду, что пробовал ыполнять запросы и через ODBC и через Central и Artisan. Результат один и тот же.
1. да, файлы есть.
locales.dat: [NT]
locale = enu, us_english, iso_1
locale = fra, french, iso_1
locale = deu, german, iso_1
locale = rus, russian, cp1251
locale = hun, us_english, cp1250
locale = ell, us_english, cp1253
locale = heb, us_english, cp1255
locale = ara, us_english, cp1256
locale = trk, us_english, cp1254
locale = esp, spanish, iso_1
locale = jpn, japanese, sjis
locale = japanese, japanese, sjis
locale = chs, chinese, eucgb
locale = cht, tchinese, big5
; locale = kor, korean, eucksc
locale = us_english.utf8, us_english, utf8
locale = default, us_english, iso_1

2. Перекодировочные таблицы:
1001 0 0 0 ascii_8
1001 1 0 0 iso_1
1001 2 0 0 cp850
1001 3 0 0 cp437
1001 4 0 0 roman8
1001 5 0 0 mac
2003 20 190 0 defaultml
2003 21 190 0 thaidict
2003 22 190 0 iso14651
2003 24 190 0 utf8bin
2003 25 190 0 binary
2003 39 190 0 altnoacc
2003 45 190 0 altdict
2003 46 190 0 altnocsp
2003 47 190 0 scandict
2003 48 190 0 scannocp
2001 50 1 0 bin_iso_1
2003 51 190 0 dict
2003 52 190 0 nocase
2003 53 190 0 nocasep
2003 54 190 0 noaccent
2003 55 190 0 espdict
2003 56 190 0 espnocs
2003 57 190 0 espnoac
2003 59 190 0 rusnocs
2003 64 190 0 cyrnocs
2003 65 190 0 elldict
2003 69 190 0 hundict
2003 70 190 0 hunnoac
2003 71 190 0 hunnocs
2003 73 190 0 turknoac
2003 74 190 0 turknocs
2004 129 190 0 cp932bin
2004 130 190 0 dynix
2004 137 190 0 gb2312bn
2004 140 190 0 cyrdict
2004 155 190 0 turdict
2004 161 190 0 euckscbn
2004 163 190 0 gbpinyin
2004 165 190 0 rusdict
2004 179 190 0 sjisbin
2004 192 190 0 eucjisbn
2004 194 190 0 big5bin


3. 8.1.2
isql пока выполнить не могу
...
Рейтинг: 0 / 0
проблема с кодировкой
    #34232700
Peter Kirillow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуйте поставить в locales.dat
locale = default, us_english, cp1251

загляните с директорию charsets
есть там cp1251 и koi8 ?

там же в поддиректории utf8 в файле utf8.cfg содержится информация о разрешенных перекодировках. строчка типа
convertto = cp1251, table, MATCH, 3F должна быть раскомментирована.

а так же на сервере (ASE) должна стоять кодировка по умолчанию из 5 группы, т.е. одна из
cp1251, cp866, cp855, koi88. если на сервере iso-1 (sp_helpsort), то перекодировать в cp1251 он не должен...
...
Рейтинг: 0 / 0
проблема с кодировкой
    #34232866
vandat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При выполнении:
isql -J cp1251 -S ...

выводится:
Character set conversion is not available between client character set 'cp1251'
and server character set 'iso_1'.
No conversions will be done.

В директории charsets есть раскладки cp1251 и koi8.
В остальных файлах все раскоментировано и прописано вроде нормально.
...
Рейтинг: 0 / 0
проблема с кодировкой
    #34232873
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vandatПри выполнении:
isql -J cp1251 -S ...

выводится:
Character set conversion is not available between client character set 'cp1251'
and server character set 'iso_1'.
No conversions will be done.

В директории charsets есть раскладки cp1251 и koi8.
В остальных файлах все раскоментировано и прописано вроде нормально.
ну вот, оказывается на сервере iso_1

поэтому попробуйте
isql -J iso_1 -S ...

вернуть обратно default, т.к. он совпадал с серверной кодировкой



PS С НОВЫМ ГОДОМ КОЛЛЕГИ!!! :)) ВСЕХ БЛАГ И СТАБИЛЬНОСТИ, В ТОМ ЧИСЛЕ И ПОДОПЕЧНЫМ СЕРВЕРАМ!!!! :))
...
Рейтинг: 0 / 0
проблема с кодировкой
    #34233154
vandat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не... это понятно, что усе хорошо будет. Но проблема в том, что я соединяюсь с базой через ODBC и мне для пользователей нужно читабельные данные выводить, т.е. в кодировке CP1251, а не в KOI8. Обобщая предыдущие сообщения, вот что получается:
- в базе стоит кодировка iso_1
- данные там хранятся в koi8
- а юзер должен видеть усё в cp1251
...
Рейтинг: 0 / 0
проблема с кодировкой
    #34233188
Peter Kirillow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прочитайте документацию по кодировкам в Sybase.
станет все гораздо понятней
...
Рейтинг: 0 / 0
проблема с кодировкой
    #34233368
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если на серваке у вас ISO_1 а вы работаете с кирилицей то забудте о конвертации одной кодировки в другую.
- вам надо сервак переводить на кирилическую или юникодовую кодировку.
- или можно коннектится везде с кодировкой iso_1, тогда никакой перекодировки не будет происходить при передаче инфы между клиентом и сервером. т.е. если будете вставлять инфу в koi-8, то получать будете тоже в koi-8. это коряво но бывает что сервер менять нелбзя. проблема здесь только если вы указываете ORDER BY по чарактер полю.
...
Рейтинг: 0 / 0
проблема с кодировкой
    #34234451
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vandat пишет:

> - в базе стоит кодировка iso_1
> - данные там хранятся в koi8
> - а юзер должен видеть усё в cp1251

Это неправильно . В базе должны быть данные в той кодировке,
которая стоит на сервере, не так ли ?

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

Сервер не сможет в любом случае произвести правильную перекодировку,
поэтому либо нужно переконфигурировать, либо перекодировать самому.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / проблема с кодировкой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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