Как вставить специальные символы в SQL Server?

Подобно этому вопросу в MySQL, я пытаюсь сохранить специальные символы, такие как смайлики, в столбце типа nvarchar. Однако любые смайлики преобразуются в «??». Я попытался воспроизвести решение вопроса, включая изменение типа столбца и сопоставления в SQL Server, но безуспешно.

Что я пытаюсь сделать:

INSERT INTO TableName 
(Id, Title, Description) 
VALUES
(1, 'This is my title 😀','Here is a description with a 📻 radio');

Где Title и Description столбцы nvarchar(255).

Полученная вставка выглядит так:

| Id | Title               | Description                           |
|----|---------------------|---------------------------------------|
| 1  | This is my title ?? | Here is a description with a ?? radio |

Используя это, чтобы создать таблицу

CREATE TABLE TableName(
  Id INT PRIMARY KEY,
  Title NVARCHAR(255),
  Description NVARCHAR(255)
);

Сортировка базы данных SQL_Latin1_General_CP1_CI_AS

Задавая вопрос, вы должны предоставить минимальный воспроизводимый пример: (1) DDL и выборочное заполнение данных, т. е. таблицы CREATE плюс операторы INSERT T-SQL. (2) Что вам нужно сделать, т. е. логика и ваш код попытаются реализовать ее в T-SQL. (3) Желаемый результат, основанный на примерных данных в # 1 выше. (4) Ваша версия SQL Server (SELECT @@version;).

Yitzhak Khabinsky 22.11.2022 16:03

Используйте N'Unicode literal'.

Jeroen Mostert 22.11.2022 16:14

Попробуйте: INSERT INTO TableName (Id, Title, Description) VALUES (1, N'Это мой заголовок 😀', N'Вот описание с 📻 радио');

Erwin Moller 22.11.2022 16:15

Спасибо! Это было на удивление легко

chandler 22.11.2022 16:18
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
4
2 607
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
    INSERT INTO TableName(Title,Description) 
    VALUES (N'👍 🖒 🖓 🖕 🗑 🛦 ⁉ 😎 😔 😇 😥 😴 😭',
            N'👍 🖒 🖓 🖕 🗑 🛦 ⁉ 😎 😔 😇 😥 😴 😭');

Используйте строковый литерал префикса с "N' <"мой странный текст"> '"

Попробуйте также этот оператор «выбрать»:

    SELECT N'👍 🖒 🖓 🖕 🗑 🛦 ⁉ 😎 😔 😇 😥 😴 😭'

Похоже, вы скопировали часть из этого ответа, так как смайлики идентичны.

Thom A 22.11.2022 17:54

Другие вопросы по теме