SQL Server 2008中的编码问题

问题描述:

我想在没有任何特殊和国际字符的SQL Server 2008的列中保存一个屏幕名称,以便我可以在URL中使用该列。SQL Server 2008中的编码问题

你们可以请你提出一些技巧,如何将这个名字保存在没有任何特殊或国际字符的列中。

这个的基本目的是在URL中使用这个列。

非常感谢。

+0

请解释更多的意图:是否有包含扩展字符的“屏幕名称”有问题?如果是这样,为什么不在输入时删除它们,或者通过适当的编辑控制禁止它们的使用? – wallyk 2011-03-17 16:34:36

+0

基本意图是如果我在列中保存特殊和国际字符。如果我使用该列URL.i得到问题,如错误的请求,因为我不能在URL中使用这种字符。所以,我想忽略这些字符,我想将屏幕名称保存在单独的列中,而不是屏幕名称列中。 – jack 2011-03-17 16:37:57

+0

你是在谈论扩展的代码页的东西,或只是关于逃避url编码中的特殊字符?如果第二,那么你可以只使用嵌套REPLACE函数服从这些规则:http://www.blooberry.com/indexdot/html/topics/urlencoding.htm – 2011-03-17 16:41:08

您应该对存储在数据库中的字符串进行urlencode编码,而不是“删除”无效字符。

string url = "http://xyz.com/" + System.Web.HttpUtility.UrlEncode(myFieldContent); 

这将用相应的百分比编码替换“特殊”字符。有关更多信息,请参见The RFC