2015-07-20 83 views
2

我正在Asp.Net中编写一个Web应用程序。我有一个文本列,其中用户输入产品的描述。在SQL Server数据库C中保存表情符号#

它正在保存正确,但如果我在使用手机输入描述时使用表情符号,它会被保存为数据库中的??

如何正确保存并在下次显示时向用户输入他的内容?

我尝试以下解决方案没有结果

byte[] bytes = Encoding.Default.GetBytes(myString); 
myString = Encoding.UTF8.GetString(bytes); 

我猜是编码问题。

任何帮助?

+0

什么是表格列的数据类型? – tharif

+0

它是nvarchar(MAX) –

+0

是正确保存吗?检查表中的数据还是'??'在桌子上? – tharif

回答

0

为了存储Sql Server中不支持的文本,您的表应该具有unichar支持。

创建表中的列并确保它的数据类型为nvarchar

现在您可以在Sql Server数据库中存储表情和不同的语言字体。

@icontext nvarchar(MAX) 

cmd.Parameters.Add("@icontext", SqlDbType.NVarChar); 

无需以字节为单位存储表情:)

编辑1:

注:

当在SQL Server中的Unicode字符串常量你打交道必须在所有Unicode字符串之前以大写字母N开头,如SQL Server联机丛书主题“使用Unicode Da”中所述TA”。 “N”前缀代表SQL-92标准中的国家语言,并且必须是大写字母。如果您不用N前缀Unicode字符串常量,SQL Server会在使用该字符串之前将其转换为当前数据库的非Unicode代码页。

+0

现在它节省了方块而不是笑脸:-) –

+0

你能帮助我吗? –

+0

所以现在你可以保存和检索表情符号..好吗? – tharif

相关问题