添加表情符号/表情符号到 SQL 服务器 table
Add emoji / emoticon to SQL Server table
我正在尝试将表情符号/表情符号插入 SQL 服务器数据库,但它只存储 ???
而不是表情符号/表情符号。
我只找到 SQL 服务器的帮助,而不是 MySQL。
我试过了:link
但找不到答案甚至无法设置:
ALTER TABLE mytable charset=utf8mb4,
MODIFY COLUMN textfield1 VARCHAR(255) CHARACTER SET utf8mb4,
MODIFY COLUMN textfield2 VARCHAR(255) CHARACTER SET utf8mb4;
SQL 服务器无法识别此命令。这仅适用于 Microsoft SQL 服务器而非 MySQL
使用 NVARCHAR(size)
数据类型和前缀字符串文字 N
:
CREATE TABLE #tab(col NVARCHAR(100));
INSERT INTO #tab(col) VALUES (N' ⁉ ');
SELECT *
FROM #tab;
输出:
╔═════════════════════════════════╗
║ 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
-- ☢️
我正在尝试将表情符号/表情符号插入 SQL 服务器数据库,但它只存储 ???
而不是表情符号/表情符号。
我只找到 SQL 服务器的帮助,而不是 MySQL。
我试过了:link
但找不到答案甚至无法设置:
ALTER TABLE mytable charset=utf8mb4,
MODIFY COLUMN textfield1 VARCHAR(255) CHARACTER SET utf8mb4,
MODIFY COLUMN textfield2 VARCHAR(255) CHARACTER SET utf8mb4;
SQL 服务器无法识别此命令。这仅适用于 Microsoft SQL 服务器而非 MySQL
使用 NVARCHAR(size)
数据类型和前缀字符串文字 N
:
CREATE TABLE #tab(col NVARCHAR(100));
INSERT INTO #tab(col) VALUES (N' ⁉ ');
SELECT *
FROM #tab;
输出:
╔═════════════════════════════════╗
║ 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
-- ☢️