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 ║
╠═════════╣
║ ★       ║
╚═════════╝

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些