微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

HTML符号在SQL Server数据库中显示为问号

今天我发现html符号如:★正在我的数据库显示为问号.

我使用varchar作为类型,我使用的数据库是microsoft sql 2008.

有谁知道解决这个问题?

解决方法

您需要为列使用NVARCHAR数据类型,VARCHAR数据类型只能用于非unicode字符.

如果要在数据类型中存储unicode字符,则应使用NVARCHAR数据类型,并且在将数据插入Column时,使用N前缀告诉sql server,传递的字符串中会有一些unicode字符.

使用VARCHAR DataType

CREATE TABLE #Temp (Column1 VARCHAR(100))
INSERT INTO #Temp VALUES('★')
SELECT * FROM #Temp

结果

╔═════════╗
║ Column1 ║
╠═════════╣
║ ?       ║
╚═════════╝

使用NVARCHAR DataType

CREATE TABLE  #Tempn (Column1 NVARCHAR(100) )
INSERT INTO #Tempn VALUES(N'★')        --<-- N prefix for Unicode Characters
SELECT * FROM #Tempn

结果

╔═════════╗
║ Column1 ║
╠═════════╣
║ ★       ║
╚═════════╝

原文地址:https://www.jb51.cc/html/224505.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐