powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Sybase SA 9-12 и тип данных nchar (utf-8) - проблема в работе
5 сообщений из 5, страница 1 из 1
Sybase SA 9-12 и тип данных nchar (utf-8) - проблема в работе
    #37972063
Stalker4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hi All,

Есть база созданная в Sybase SA 12 (хотя можно и 9-11, в общем когда появилась поддержка nchar).
Код: sql
1.
2.
3.
4.
5.
CREATE DATABASE 'D:\\Solution2.db' LOG ON 'D:\\solution2.log' 
CASE IGNORE ACCENT IGNORE PAGE SIZE 4096 
COLLATION '1251CYR(CaseSensitivity=Ignore)' 
NCHAR COLLATION 'UCA(Locale=ru_RU;CaseSensitivity=Ignore;AccentSensitivity=Ignore;PunctuationSensitivity=Primary)' 
BLANK PADDING OFF JCONNECT ON CHECKSUM ON


В базе есть таблица
Код: sql
1.
2.
3.
4.
5.
CREATE TABLE "DBA"."TEST_UTF8" (
    "ID"                             integer NOT NULL DEFAULT autoincrement
   ,"CSTR"                           char(100) NULL
   ,PRIMARY KEY ("ID" ASC) 
)


Есть SP
Код: sql
1.
2.
3.
4.
5.
create procedure DBA.TestUTF8( in cText nchar(100) ) 
begin
  insert into dba.TEST_UTF8( CSTR ) values( TO_CHAR(cText) ) ;
  commit work
end


Эту SP дергает SOAP Web-сервис
Код: sql
1.
2.
3.
CREATE SERVICE "Test" 
    TYPE 'SOAP' AUTHORIZATION OFF SECURE OFF URL PATH OFF USER "UserWeb1" USING "FORMAT=XML;DATATYPE=ON"  AS
call dba.TestUTF8(:text)


То есть на сайте пользователь вводит строку текста в UTF-8, жмет кнопу и вызывается мой web-сервис которому и передается строка введенная пользователем.

Вот лог вызова моего web-сервиса

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
25/09 19:54:15.492 - 0.001 - 91.215.55.10:15023 - 80 - "POST /Solution2/Test HTTP/1.1" - 200 OK - 876 - 
-->     User-Agent: Zend_Http_Client
-->     @HttpMethod: POST
-->     Host: myhost
-->     Connection: close
-->     @MediaType: text/xml
-->     Content-Type: text/xml
-->     Content-Length: 395
-->     @HttpVersion: HTTP/1.1
-->     Accept-encoding: gzip, deflate
-->     @HttpURI: /Solution2/Test
<--     Date: Tue, 25 Sep 2012 16:54:15 GMT
<--     Transfer-Encoding: chunked
<--     Connection: close
<--     Expires: Tue, 25 Sep 2012 16:54:15 GMT
<--     Content-Type: text/xml; charset=UTF-8
<--     Server: SQLAnywhere/12.0.1.3769

Web-сервис вызывает SP, которая должна перекодировать строку текста из UTF-8 (nchar) в 1251 (char)
и записать его в таблицу.

Проблема в том, что я не могу перекодировать текст из UTF-8 (nchar) в 1251 (char).
Из за чего это происходит я понять не могу.
Может база создана не правильно (в плане работы с типом данных nchar), может я не правильно делаю саму перекодировку (пробовал функции TO_CHAR(cText) и CSCONVERT(cText, 'utf-8', 'char_charset')), может сами данные из ко мне поступают не совсем в UTF-8 (но как это проверить я не знаю), а может еще какая то беда.

В общем очень нужна помощь по решению этой проблемы.
...
Рейтинг: 0 / 0
Sybase SA 9-12 и тип данных nchar (utf-8) - проблема в работе
    #37972155
zmars
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CSCONVERT(cText, 'utf-8', 'cp1251')
?
...
Рейтинг: 0 / 0
Sybase SA 9-12 и тип данных nchar (utf-8) - проблема в работе
    #37972839
Stalker4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zmarsCSCONVERT(cText, 'utf-8', 'cp1251')
?
Попробовал
Код: sql
1.
insert into dba.TEST_UTF8( CSTR ) values( CSCONVERT(cText, 'utf-8', 'cp1251') )

не помогло.
...
Рейтинг: 0 / 0
Sybase SA 9-12 и тип данных nchar (utf-8) - проблема в работе
    #37973421
Марсель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
перепутал
CSCONVERT(cText, 'cp1251', 'utf-8')
...
Рейтинг: 0 / 0
Sybase SA 9-12 и тип данных nchar (utf-8) - проблема в работе
    #37973536
Stalker4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Марсельперепутал
CSCONVERT(cText, 'cp1251', 'utf-8')
Все равно не работает.

Может в cText из Web-сервиса приходят данные не в utf-8, можно ли это как то проверить ?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Sybase SA 9-12 и тип данных nchar (utf-8) - проблема в работе
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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