Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 UTF-8 в MS SQL - научите читать-писать  [new]
chemb
Member

Откуда:
Сообщений: 22
html-формочка принимает текстовые данные.
Кодировка, выставляемая web-сервером - utf-8,
в html прописано charset=utf-8.

Приложение коннектится к ms sql через ODBC,
у ODBC выставлен флаг (сбрасывать тоже пробовал,
с тем же результатом...) "Perform translation for character data",
MS SQL 2000 sp4

Данные почти благополучно пишутся и читаются.

Проблемы.
1) подозрительно часто где-то в районе 67 - 68 символа при
записи/чтении поста наблюдается "искажение". Буковка
"т" превращается в "р?" и т.п...
2) табличка такого вида -
creat table bable (
id int not null,
name nvarchar(255)
)
Запрос select * from bable, выполненный в QA, возвращает
name перекодированный в cp1251, в результате вместо текст
видны характерные кракозябры такого вида -
Натяжной потолок представляеС

Люди добрые... Сам я тут не местный, куда копать, как плясать,
где нужные бубны с бубенцами ?
Как этой супер-СУРБД сказать set client_encoding... ?
31 авг 04, 15:35    [921966]     Ответить | Цитировать Сообщить модератору
 Re: UTF-8 в MS SQL - научите читать-писать  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Storing UTF-8 Data in SQL Server
31 авг 04, 15:52    [922047]     Ответить | Цитировать Сообщить модератору
 Re: UTF-8 в MS SQL - научите читать-писать  [new]
mike160
Guest
В html надо поставить : CHARSET=windows-1251
31 авг 04, 16:11    [922159]     Ответить | Цитировать Сообщить модератору
 Re: UTF-8 в MS SQL - научите читать-писать  [new]
chemb
Member

Откуда:
Сообщений: 22
> mike160 wrote: надо поставить : CHARSET=windows-1251

В html не надо ставить windows-1251.
Собственно, html и так себя неплохо чувствует.

> pkarklin wrote:
http://support.microsoft.com/default.aspx?scid=kb;en-us;232580&Product=sql

Нда. Зачел. грустно все это, мелко-мягкий как всегда, как везде,
как во всем... Интересно, чем объяснить
"...SQL Server 2000 use a different Unicode encoding (UCS-2) and do not recognize UTF-8 as valid character data"...

Т.о. лучшее решение ситуации - varbinary ? Или есть еще идеи ?
31 авг 04, 16:30    [922281]     Ответить | Цитировать Сообщить модератору
 Re: UTF-8 в MS SQL - научите читать-писать  [new]
chemb
Member

Откуда:
Сообщений: 22
Кхм :-))

Вообще забавно все...

Первая строк в примере - это результат селекта из таблички...
Вторая - "исходник". Предлагается сохранить хтмл-ьку,
посмотреть ее "как есть", а потом сменить кодировку браузера
на utf-8....

Т.е. - на самом деле почти можно все делать именно так,
единственная беда - как бы все-таки QA настроить на понимание
UTF ?

<html>
<head>
<META content="text/html; charset=windows-1251" http-equiv="Content-Type">
</head>
<body>
<table>
<tr><td>
замена масла,топливного и воздушного фильтров</p>
</td></tr>
<tr><td>
замена масла,топливного и воздушного фильтров
</td></tr>
</table>
</body>
</html>
31 авг 04, 16:58    [922449]     Ответить | Цитировать Сообщить модератору
 Re: UTF-8 в MS SQL - научите читать-писать  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4256
в html CHARSET=windows-1251
31 авг 04, 17:14    [922529]     Ответить | Цитировать Сообщить модератору
 Re: UTF-8 в MS SQL - научите читать-писать  [new]
chemb
Member

Откуда:
Сообщений: 22
> CHARSET=windows-1251

Забудьте об HTML. Нет никакого html :-)

QA возвращает почти корректный UTF-8,
только он его по ходу дела зачем-то отображает как windows-1251.

GUI, гуй.... Иплорер...
31 авг 04, 17:30    [922634]     Ответить | Цитировать Сообщить модератору
 Re: UTF-8 в MS SQL - научите читать-писать  [new]
yohim
Member

Откуда:
Сообщений: 3
pkarklin
Storing UTF-8 Data in SQL Server

Спасибо.
Есть вопрос:
У меня ASP.NET приложение.
варианты
"<% Session.CodePage=65001 %>" и "<%@Page CodePage=65001 %>"
не работают, остальные не подходят. может есть ещё какие-нибудь варианты?
Заранее благодарен.
14 сен 04, 16:35    [958745]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить