我知道Double引号可以像这样转义:
string test = "He said to me, ""Hello World"". How are you?"
或通过:
string test = "He said to me, \"Hello World\" . How are you?"
但我不想更改数据库中的值,我想从数据库中获取值并将其放入URL中。例如:
href="http://www.abcd.com/movie/<%= mTitle%>/"
如果字符串包含双引号,则会中断URL。
答案 0 :(得分:2)
在这种情况下,您不是“转义”引号,而是 URL-encoding 它们。问题不在于字符串本身。问题是许多“特殊字符”在URL的上下文中具有其他含义,或者以某种方式混淆了该URL的解析,并且需要进行编码。
(在这种情况下,它不一定是URL本身,而是被引号混淆的HTML属性。)
这样的事情:
<a href="http://www.abcd.com/movie/<%= server.urlEncode(mTitle) %>">
所以不是这个输出:
<a href="http://www.abcd.com/movie/A"Quoted"String">
你会得到这个:
<a href="http://www.abcd.com/movie/A%22Quoted%22String">