【发布时间】:2010-06-23 21:38:43
【问题描述】:
似乎我的数据在使用 HTTPapp.HTMLEncode(string): String; 时被损坏了;
HTMLEncode( 'Jo&hn D<oe' ); // returns 'Jo&am'
这是不正确的,并且正在破坏我的数据。有人对工作得更好的 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( ) 来修复。
【问题讨论】: