在存储商标(tm或r)或版权(c)等特殊字符时,有人可以提供一些最佳做法吗?我将它们存储在一个varchar字段中,其中包含SQL Server中的其他文本,并显示在ASP.NET网页上。现在我们正在存储特殊字符并显示它。
感谢您的帮助!
答案 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。