#sql_server
Проблема следующая. Создаю базу create database MyTestDB on primary (name = MyTestDB, filename = 'd:\MyTestDB.mdf', size = 12MB, maxsize = 20MB, filegrowth = 2MB ) LOG ON (name = MyTestDB_Log, filename = 'd:\\MyTestDB_Log.ldf', size = 2MB, maxsize = 12MB, filegrowth = 1MB) COLLATE Latin1_General_CI_AI; Затем создаю табличку CREATE TABLE Students( ID int IDENTITY(1,1) NOT NULL CONSTRAINT PK_Students PRIMARY KEY, Name nvarchar(30) NOT NULL ) Ну и собственно заполняю её (текстовые поля - кириллицой). Как итог, всё то что на кириллице в таком виде ????? Подскажите, в чем может быть проблема ? Где-то с кодировкой накосячил? Да вроде универсальная.
Ответы
Ответ 1
Строковые литералы Unicode - nvarchar - нужно задавать с префиксом N: N'Иванов' Без префикса строка будет преобразована с использованием кодовой страницы базы, и часть символов скорее всего будет испорчена: Prefix Unicode character string constants with the letter N. Without the N prefix, the string is converted to the default code page of the database. This default code page may not recognize certain characters.
Комментариев нет:
Отправить комментарий