![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
silver47 |
![]()
Сообщение
#1
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: ![]() ![]() ![]() |
Доброго времени суток.
Такая проблема у меня: база данных в кодировке SQL Latin1 General CP1 CI AS. При выполнении запросов SELECT все нормально, русские символы отображаются как нужно, но если выполнить
то получаю пустоту. При записи в базу данных русского текста, получается что угодно, кроме русского текста. Qt хранит все строки в UTF8 как сконвертировать эти строки в кодировку базы данных. Менять кодировку БД нельзя, т.к. неизвестно как поведет себя буржуйский софт, который для нее писался. Qt 4.7.0; Win 7; MS SQL 2005 Спасибо. |
|
|
silver47 |
![]()
Сообщение
#2
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 1.4.2010 Пользователь №: 1584 Спасибо сказали: 40 раз(а) Репутация: ![]() ![]() ![]() |
Сам спросил - сам отвечаю, может кому сгодиться: при добавлении символьных строк на сервер из клиента, работающего по юникоду перед символьной строкой следует ставить символ N, дабы сообщить серверу, что следующая строка в кодировке юникод.
Чтобы понятнее было: SQL UPDATE dbo.UDFEMP SET EMAIL = N'привет' WHERE dbo.UDFEMP.ID = 7186; ну и для SELECT: SQL WHERE something LIKE N'%someString%'; Где прочитал. Сообщение отредактировал silver47 - 13.1.2011, 10:31 |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 29.11.2023, 14:07 |