给出以下HTML“<b>demo</b>
”
我想将它保存到SQL 2005表中
数据库保存字段中的强制,无编码,无转义字符
保存的HTML必须尽可能小
根据我的努力,我存储的html始终保存为编码>
html
修改
调试我的代码我发现我的HTML字符串被编码到我的StoredProcedure。 Server.HtmlDecode不会完全解码我的HTML!
这是TinyMCE的错误。
答案 0 :(得分:1)
任意varchar字符串的直接插入应始终有效:
create table MarkupTable(
id int identity(1,1) /*please don't berate me for using identity!*/
, markup varchar(max) /* this will use only the space taken by your markup string */
)
insert MarkupTable select '<html><b>demo</b></html>'
select * from MarkupTable
现在 - 问题是:哪一段代码正在编码你的标记???
一些起点:
尝试:
Server.HtmlDecode(Server.HtmlDecode(markupString));
对于空间要求:
答案 1 :(得分:0)
请勿使用此数据的“text”数据类型进行捕获。它将从SQL服务器中删除,您不希望以后让自己头疼。
将数据存储在nvarchar(max)
数据类型中。
尽量使其尽可能小,剥离不必要的空格可能有助于减小数据的大小。
答案 2 :(得分:0)
您可以执行Server.HtmlEncode并将其保存在数据库的varchar字段中(SQL 2005)。当你转义它时,你可以做一个Server.HtmlDecode并将它加载到标签/文字中,它将正常呈现。