在数据库中存储特殊字符

时间:2009-12-02 21:52:38

标签: asp.net special-characters

在存储商标(tm或r)或版权(c)等特殊字符时,有人可以提供一些最佳做法吗?我将它们存储在一个varchar字段中,其中包含SQL Server中的其他文本,并显示在ASP.NET网页上。现在我们正在存储特殊字符并显示它。

感谢您的帮助!

4 个答案:

答案 0 :(得分:4)

  

我将它们存储在varchar字段中......

至少有一个问题。对于可能包含“特殊”字符的文字,您需要nvarchar

答案 1 :(得分:2)

嗯,对于这些角色,通常会将它们渲染为

©

因此,您不需要在数据库中执行任何特殊操作,但您应该使用DB字符串,NChar,NVarChar等的“N”前缀字段。

答案 2 :(得分:1)

这是一个老问题,但值得一个新的答案:使用UTF-8。浏览器,数据库和Web服务器现在都支持UTF-8编码,这意味着您不必编码特殊字符(除了讨论here之外,然后,只有在出路时)。

有一些很好的理由不在this answer中对数据库中的数据进行编码。

答案 3 :(得分:-2)

如果可以的话,只需使用HTML实体,例如™©

除非您明确要求支持Unicode,否则无需切换到nvarchar。