当我尝试提取存储有表情符号的nvarchar列值时,VB.net中的数据显示为'';
当我尝试使用VB.net从数据库中提取表情符号值时,表情符号显示为“??” 在存储过程中是否需要进行某种转换当我尝试提取存储有表情符号的nvarchar列值时,VB.net中的数据显示为'';,vb.net,sql-server-2008,utf-8,nvarchar,Vb.net,Sql Server 2008,Utf 8,Nvarchar,当我尝试使用VB.net从数据库中提取表情符号值时,表情符号显示为“??” 在存储过程中是否需要进行某种转换 Private Function DisplayEmoji(input As String) As String Dim output As New StringBuilder() Dim enumerator = StringInfo.GetTextElementEnumerator(input) While enumerator.MoveNext()
Private Function DisplayEmoji(input As String) As String
Dim output As New StringBuilder()
Dim enumerator = StringInfo.GetTextElementEnumerator(input)
While enumerator.MoveNext()
Dim chunk As String = enumerator.GetTextElement()
If Char.IsSurrogatePair(chunk, 0) Then
output.Append("<img src=""" + "https://abs.twimg.com/emoji/v1/72x72/" + Char.ConvertToUtf32(chunk, 0).ToString("x") + ".png"" style=""height:1.5em; width:1.5em;"">")
Else
output.Append(chunk)
End If
End While
Return output.ToString()
End Function
插入数据库或图像
Dim strQuery As String = "insert into tblFiles(Name, ContentType, Data) values (@Name, @ContentType, @Data)"
Dim cmd As SqlCommand = New SqlCommand(strQuery)
cmd.Parameters.Add("@Name", SqlDbType.VarChar).Value = filename
cmd.Parameters.Add("@ContentType", SqlDbType.VarChar).Value = "image/png"
cmd.Parameters.Add("@Data", SqlDbType.Binary).Value = bytes
InsertUpdateData(cmd)
插入更新数据
Public Function InsertUpdateData(ByVal cmd As SqlCommand) As Boolean
Dim strConnString As String = System.Configuration.
ConfigurationManager.ConnectionStrings("conString").ConnectionString
Dim con As New SqlConnection(strConnString)
cmd.CommandType = CommandType.Text
cmd.Connection = con
Try
con.Open()
cmd.ExecuteNonQuery()
Return True
Catch ex As Exception
Response.Write(ex.Message)
Return False
Finally
con.Close()
con.Dispose()
End Try
End Function
您正在哪个版本的Windows上测试此功能?Windows7不完全支持表情符号。要在该系统上获得基本支持,您需要使用包含表情符号“字符”的字体,如Segoe UI符号字体。通过使用图像,您需要记住有关可访问性的信息,并添加一些指示每个图像内容的alt文本。
Public Function InsertUpdateData(ByVal cmd As SqlCommand) As Boolean
Dim strConnString As String = System.Configuration.
ConfigurationManager.ConnectionStrings("conString").ConnectionString
Dim con As New SqlConnection(strConnString)
cmd.CommandType = CommandType.Text
cmd.Connection = con
Try
con.Open()
cmd.ExecuteNonQuery()
Return True
Catch ex As Exception
Response.Write(ex.Message)
Return False
Finally
con.Close()
con.Dispose()
End Try
End Function