Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Locale problem, ASA / 12 сообщений из 12, страница 1 из 1
03.07.2008, 12:49
    #35408575
evigis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Locale problem, ASA
Доброго всем времени суток.
Может кто сталкивался с такой проблемой.
Есть база в Калининграде (консолидирована) и в Утене (удалённая).
В Калин. вся локалка на русском и сама база васползует 1251CYR.
В Утене вся локалка на литовском но база васползует тоже 1251CYR для репликации между собой. Эта понятно )) .

Возникла токая проблема, когда высылается сообщение с русским текстом в Утену по SMTP протоколу, то в Утене отображается не на русском.
Посоветуйте как обойти эту проблему не меняя локалку (так как много что кружится на этом сервере)

Благодарен за ранее.

Модератор: я верю в силу ваших чувств, но матерится все же не нужно
...
Рейтинг: 0 / 0
03.07.2008, 13:04
    #35408636
Locale problem, ASA
но если переключить локальные настройки то кирилицу видно?
...
Рейтинг: 0 / 0
03.07.2008, 14:52
    #35409037
evigis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Locale problem, ASA
Вот втом и проблема что переключить нельзя.
Как тестировал в офисе то на двух русских локалках работает, замечятелно.
Если переключить локалку то слово которое было отослано ранее останется не заменённым, так как оно сканвертировалось. На изменённую локаль надо высылать сообсчение повторно, тогда оно нармална сработает (не заменит русских символов).
Надо както обойти.
Проблема как я думаю састоит в СQЛ запросе который высылается по СМТП кодированным. И одконвертить зависит од лакали. Какта надо это обойти, но нзн как...
Есть какие предложения?
...
Рейтинг: 0 / 0
03.07.2008, 17:19
    #35409687
PaulJB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Locale problem, ASA
ИМХО дело не в запросе. Отправляющая база формирует сообщение в тектстовом виде в той локали, которая на отправляющей базе. В СМТП оно кодируется и попадает как есть на отправляющей машине.
При получении на получателе возможно происходит какое то перекодирование самой базой.
Надо бы взглянуть на скрин. Как выглядит так называемая х@#я.
Какая локаль стоит в винде у принимающей базы?
Можете на отправляющей базе поставить Compression = 0, тогда отправляющая база не будет сжимать сообщения и они будут приходить в том виде, как отсылаются. Ну а там - смотрите ...
...
Рейтинг: 0 / 0
03.07.2008, 17:37
    #35409729
evigis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Locale problem, ASA
Понятно.
Локаль как и писал више полнастю литовская.
Вместо скрина напишу то что высылаю и то что сахраняетса в одолённой базе.
" Обнавдён. ID= " получаю " iikiaeak. ID= "

Вы пишете что праблема с базай. Может праблема в том, что я скопировал консолидированую базу на адалённый компютер и там сконфигуриравал заного? думаю нет, так как символы руские сахранились, тока проблема возникла когда принимаетса запрос высланный консолидированой базай.
Что именно получаю написал.
...
Рейтинг: 0 / 0
03.07.2008, 17:42
    #35409747
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Locale problem, ASA
Так, давай по пунктам.
1) Данные хранятся в консолидированной базе в какой кодировке? CP1251?
2) Какой charset указан в строке коннекта которым dbremote подключается к консолидированной базе? Если ни какой не указан - dbremote возьмет кодировку из OS на которой он запущен. И если кодировка в коннекте dbremote не совпадает с кодировкой сервера, текст будет перекодирован. Либо сервером (если у вас ASA9 и выше), либо ODBC драйвером если у вас ASA8 или ниже.
3) dbremote получив данные уже никогда не занимается перекодировкой, он ужимает данные встроенным архиватором и через SMTP/FTP/etc идет бинарный пакет, которому кодировки до лампочки.
4) Получающий dbremote распаковывает полученный пакет и превращает его в текст. А дальше повторяется тоже самое что на этапе отправления. Если у получающего dbremote в строке коннекта charset явно не указан, он будет равным локали ОС. И если итоговый charset для коннекта dbremote не совпадает с основной кодировкой получающей базы текст будет переконвертирован перед помещением в собственно базу.
А теперь проследи путь своих данных и подумай на каком этапе, куда они переконвертируются...

dbremote это обычный клиент, он ведет себя точно так же как и любая другая клиентская программа.
...
Рейтинг: 0 / 0
03.07.2008, 17:47
    #35409766
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Locale problem, ASA
evigisВы пишете что праблема с базай. Может праблема в том, что я скопировал консолидированую базу на адалённый компютер и там сконфигуриравал заного?Что значит "сконфигруировал заново"?
При простом копировании файла базы данные какими были, такими и останутся. А вот доступ к этим данным уже будет зависеть от приходящих к серверу клиентов.

PS Орфографического словаря под рукой нет вообще?
...
Рейтинг: 0 / 0
03.07.2008, 17:53
    #35409789
evigis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Locale problem, ASA
White OwlТак, давай по пунктам.
1) Данные хранятся в консолидированной базе в какой кодировке? CP1251?
2) Какой charset указан в строке коннекта которым dbremote подключается к консолидированной базе? Если ни какой не указан - dbremote возьмет кодировку из OS на которой он запущен. И если кодировка в коннекте dbremote не совпадает с кодировкой сервера, текст будет перекодирован. Либо сервером (если у вас ASA9 и выше), либо ODBC драйвером если у вас ASA8 или ниже.
3) dbremote получив данные уже никогда не занимается перекодировкой, он ужимает данные встроенным архиватором и через SMTP/FTP/etc идет бинарный пакет, которому кодировки до лампочки.
4) Получающий dbremote распаковывает полученный пакет и превращает его в текст. А дальше повторяется тоже самое что на этапе отправления. Если у получающего dbremote в строке коннекта charset явно не указан, он будет равным локали ОС. И если итоговый charset для коннекта dbremote не совпадает с основной кодировкой получающей базы текст будет переконвертирован перед помещением в собственно базу.
А теперь проследи путь своих данных и подумай на каком этапе, куда они переконвертируются...

dbremote это обычный клиент, он ведет себя точно так же как и любая другая клиентская программа.

Ваши пункты много говорят о решении проблемы )))
Так как уменья в одну сторону, то проблемы возникают тока в оддолённой.
Ответы на ваши пункты.

1) 1251ЦиР
2) dbremote -o E:\DB\remote_log.txt -c "eng=???;uid=???;pwd=???" , как видна не указал..., если не трудно, какой нужна указать charset?
3) понятно
4) понятно

Спасибо, уже чтото выясняется...

Живём и учемся )))
...
Рейтинг: 0 / 0
03.07.2008, 17:56
    #35409800
evigis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Locale problem, ASA
White Owl evigisВы пишете что праблема с базай. Может праблема в том, что я скопировал консолидированую базу на адалённый компютер и там сконфигуриравал заного?Что значит "сконфигруировал заново"?
При простом копировании файла базы данные какими были, такими и останутся. А вот доступ к этим данным уже будет зависеть от приходящих к серверу клиентов.

PS Орфографического словаря под рукой нет вообще?

Ползуюсь транслитом )))
...
Рейтинг: 0 / 0
03.07.2008, 17:58
    #35409818
evigis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Locale problem, ASA
charset забыл указать, извините cp1251
...
Рейтинг: 0 / 0
03.07.2008, 18:24
    #35409905
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Locale problem, ASA
evigis2) dbremote -o E:\DB\remote_log.txt -c "eng=???;uid=???;pwd=???" , как видна не указал...,Ну так укажи. "eng=zzz;uid=aaa;pwd=bbb;charset=cp1251" и все.
evigisесли не трудно, какой нужна указать charset?Да в принципе любой какой хочется :)
Но надо следить чтобы оба dbremote (и отправляющий и получающий) жили на одной кодировке. В этом и есть главная проблема... А сами базы могут прекрасно жить и в разных кодировках.
...
Рейтинг: 0 / 0
03.07.2008, 18:45
    #35409945
evigis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Locale problem, ASA
Безумно благодарен. Проблема решена )))
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Locale problem, ASA / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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