在SQL Server数据库c#中保存Emoticon

本文关键字:保存 Emoticon 数据库 SQL Server | 更新日期: 2023-09-27 18:03:35

我正在用Asp.Net编写一个web应用程序。我有一个文本列,其中用户类型的产品描述。

保存正确,但如果我使用emoticon,而从手机输入描述,它被保存为??在数据库中

我怎样才能正确地保存它,并在下次向用户显示他输入的内容?

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

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

我猜是编码问题。

帮忙吗?

在SQL Server数据库c#中保存Emoticon

为了存储Sql Server中不支持的文本,您的表应该支持单字符。

在Table中创建列,并确保其数据类型为nvarchar

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

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

不需要为表情符号存储字节:)

编辑1:

注意:

在SQL Server中处理Unicode字符串常量时,必须在所有Unicode字符串前面加上大写字母N,如SQL Server Books Online主题"使用Unicode数据"中所述。前缀"N"代表SQL-92标准中的"国家语言",必须是大写的。

在使用Unicode字符串常量之前,SQL Server会将其转换为当前数据库的非Unicode代码页。