看起来我的数据在使用HTTPapp.HTMLEncode(string)时会被破坏:String;
HTMLEncode( 'Jo&hn D
这是不正确的,并且正在破坏我的数据.有没有人对VCL组件有更好的建议?除了花时间编码所有案例
http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references
更新
在了解了有关HTML的更多信息后,我发现不需要对链接中引用的其他字符进行编码.您只需要知道四个HTML保留字符
&,<,>,"
VCL HTTPApp.HTMLEncode()函数的问题是由于缓冲区大小和默认Unicode字符串类型的新Delphi 2009/2010规范,这可以通过@mason在下面说的方式修复,或者可以使用调用WideFormatBuf()而不是当前正在使用的FormatBuf().
最佳答案
替换< ;,>,&和“字符串中的字符是微不足道的.因此,您可以轻松地为此编写自己的例程.(如果您的HTML页面是UTF-8,则绝对没有理由编码任何其他字符,例如U 222B(积分符号).)
但是如果您希望坚持使用Delphi RTL,那么您可以使用与HTTPApp.HTMLEncode完全相同的签名来查看HTTPUtil.HTMLEscape.
或者,看看this SO question.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。