将表情符号/表情符号添加到SQL Server表 [英] Add emoji / emoticon to SQL Server table

查看:0
本文介绍了将表情符号/表情符号添加到SQL Server表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正尝试将表情符号/表情符号插入到SQL Server数据库中,但它只存储???,而不是表情符号/表情符号。

我只找到针对SQL Server的帮助,而不是MySQL。

我已尝试:link

但找不到答案,甚至无法设置:

ALTER TABLE mytable charset=utf8mb4, 
    MODIFY COLUMN textfield1 VARCHAR(255) CHARACTER SET utf8mb4,
    MODIFY COLUMN textfield2 VARCHAR(255) CHARACTER SET utf8mb4;

SQL Server无法识别此命令。这仅适用于Microsoft SQL Server,不适用于MySQL

推荐答案

使用NVARCHAR(size)数据类型并以N作为字符串文本的前缀:

CREATE TABLE #tab(col NVARCHAR(100));

INSERT INTO #tab(col) VALUES (N'👍 🖒 🖓 🖕 🗑 🛦 ⁉ 😎 😔 😇 😥 😴 😭');

SELECT *
FROM #tab;

db<>fiddle demo

输出:

╔═════════════════════════════════╗
║              col                ║
╠═════════════════════════════════╣
║ 👍 🖒 🖓 🖕 🗑 🛦 ⁉ 😎 😔 😇 😥 😴😭 ║
╚═════════════════════════════════╝

编辑:

SQL Server 2019及更高版本支持UTF-8排序规则:

CREATE TABLE t(col VARCHAR(100) COLLATE Latin1_General_100_CI_AI_SC_UTF8);
-- column's data type is VARCHAR!
-- collate could be set on column/database/instance level

INSERT INTO t(col) VALUES (N'☢️');

SELECT * FROM t;
-- col
-- ☢️

db<>fiddle demo - SQL Server 2019

这篇关于将表情符号/表情符号添加到SQL Server表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆