Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Кирилица в запросе / 12 сообщений из 12, страница 1 из 1
02.10.2008, 15:30
    #35572666
Владислав Ромащенко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кирилица в запросе
ASE 12.5.4 на MS Win 2003.
В locales.dat [NT]
locale = default, us_english, cp1251
Сервер "руссифицирован"
default character set = 53
default sortorder id = 59
в charset есть сp1251

выполняю на сервере из SQL Advantage
select * from table1 - возвращает значения с русскими буквами,
выполняю select * from table1 where field1= 'ДТТ' (такие значения в общем селекте в этом поле показываются) - пустой result set
выполняю select * from table1 where field1= 'ДТТ' с клиентской машины с русским xp - возвращает кучу записей.
как бороться то?
...
Рейтинг: 0 / 0
02.10.2008, 15:35
    #35572687
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кирилица в запросе
Владислав РомащенкоASE 12.5.4 на MS Win 2003.
В locales.dat [NT]
locale = default, us_english, cp1251
Сервер "руссифицирован"
default character set = 53
default sortorder id = 59
в charset есть сp1251

выполняю на сервере из SQL Advantage
select * from table1 - возвращает значения с русскими буквами,
выполняю select * from table1 where field1= 'ДТТ' (такие значения в общем селекте в этом поле показываются) - пустой result set
выполняю select * from table1 where field1= 'ДТТ' с клиентской машины с русским xp - возвращает кучу записей.
как бороться то?

попробуйте собрать "ДТТ" символами - char(x)+char(y)+char(y)
Advantage может свои мысли привносить...
...
Рейтинг: 0 / 0
02.10.2008, 15:55
    #35572776
moris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кирилица в запросе
выполните в 2х сессиях - проблемной и нормальной

select @@client_csid, @@client_csname

Думаю разный результат получите
...
Рейтинг: 0 / 0
02.10.2008, 16:04
    #35572801
Владислав Ромащенко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кирилица в запросе
morisвыполните в 2х сессиях - проблемной и нормальной

select @@client_csid, @@client_csname

Думаю разный результат получите

нет, результат одинаковый
53 cp1251
...
Рейтинг: 0 / 0
02.10.2008, 16:06
    #35572807
Владислав Ромащенко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кирилица в запросе
komrad Владислав РомащенкоASE 12.5.4 на MS Win 2003.
В locales.dat [NT]
locale = default, us_english, cp1251
Сервер "руссифицирован"
default character set = 53
default sortorder id = 59
в charset есть сp1251

выполняю на сервере из SQL Advantage
select * from table1 - возвращает значения с русскими буквами,
выполняю select * from table1 where field1= 'ДТТ' (такие значения в общем селекте в этом поле показываются) - пустой result set
выполняю select * from table1 where field1= 'ДТТ' с клиентской машины с русским xp - возвращает кучу записей.
как бороться то?

попробуйте собрать "ДТТ" символами - char(x)+char(y)+char(y)
Advantage может свои мысли привносить...

не совсем понял. выполнить
select * from table1 where field1 = 'Д'+'Т'+'Т' ??? результат такой же - пусто
...
Рейтинг: 0 / 0
02.10.2008, 16:22
    #35572856
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кирилица в запросе
Владислав Ромащенко
не совсем понял. выполнить
select * from table1 where field1 = 'Д'+'Т'+'Т' ??? результат такой же - пусто

пример:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
declare @i int
select @i = 1 
while @i< 256 
 begin
	select @i , char(@i)
        select @i=@i+ 1 
 end 
select char( 68 )+char( 84 )+char( 84 )
...
Рейтинг: 0 / 0
02.10.2008, 16:28
    #35572884
Владислав Ромащенко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кирилица в запросе
komrad Владислав Ромащенко
не совсем понял. выполнить
select * from table1 where field1 = 'Д'+'Т'+'Т' ??? результат такой же - пусто

пример:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
declare @i int
select @i = 1 
while @i< 256 
 begin
	select @i , char(@i)
        select @i=@i+ 1 
 end 
select char( 68 )+char( 84 )+char( 84 )


это сработало, спасибо. хотя и isql дал тоже пустой результат на первоначальном селекте
...
Рейтинг: 0 / 0
02.10.2008, 16:28
    #35572885
0rc
0rc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кирилица в запросе
попробуй просто в адвантаже сменить шрифт... иногда помогало...
...
Рейтинг: 0 / 0
02.10.2008, 16:30
    #35572895
Владислав Ромащенко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кирилица в запросе
0rcпопробуй просто в адвантаже сменить шрифт... иногда помогало...

isql аналогично отрабатывает - пусто
...
Рейтинг: 0 / 0
02.10.2008, 16:32
    #35572903
Владислав Ромащенко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кирилица в запросе
Владислав Ромащенко 0rcпопробуй просто в адвантаже сменить шрифт... иногда помогало...

isql аналогично отрабатывает - пусто

однако - сработало. я уже не знаю что думать
...
Рейтинг: 0 / 0
02.10.2008, 16:49
    #35572958
moris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кирилица в запросе
Интересно..
А ну-ка в 2х сессиях выполните select convert (binary (10), "ДТП")
...
Рейтинг: 0 / 0
02.10.2008, 16:57
    #35572983
Владислав Ромащенко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Кирилица в запросе
morisИнтересно..
А ну-ка в 2х сессиях выполните select convert (binary (10), "ДТП")

"хорошая" - 0xc4d2cf00000000000000

"плохая" - 0xc4d2cf00000000000000
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Кирилица в запросе / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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