我正在尝试将表情符号/表情符号插入 SQL Server 数据库,但它只存储???
而不是表情符号/表情符号。
我只找到 SQL Server 的帮助,而不是 MySQL 的帮助。
我试过 :link https://stackoverflow.com/questions/7814293/how-to-insert-utf-8-mb4-characteremoji-in-ios5-in-mysql/8109948#8109948
但没有找到答案,甚至无法设置:
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
Use NVARCHAR(size) https://msdn.microsoft.com/en-us/library/ms186939.aspx数据类型和前缀字符串文字N
:
CREATE TABLE #tab(col NVARCHAR(100));
INSERT INTO #tab(col) VALUES (N'???? ???? ???? ???? ???? ???? ⁉ ???? ???? ???? ???? ???? ????');
SELECT *
FROM #tab;
Output:
╔═════════════════════════════════╗
║ col ║
╠═════════════════════════════════╣
║ ???? ???? ???? ???? ???? ???? ⁉ ???? ???? ???? ???? ???????? ║
╚═════════════════════════════════╝
EDIT:
SQL Server 2019 及更高版本支持UTF-8 https://techcommunity.microsoft.com/t5/sql-server/introducing-utf-8-support-for-sql-server/ba-p/734928整理:
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
-- ☢️
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)