Mysql入门系列:在Web应用程序中使用DBI
2006-12-31 10:49:23 来源:WEB开发网核心提示: 使用CGI.pm 生成输出,而不是编写自己原始的H T M L,Mysql入门系列:在Web应用程序中使用DBI(5),这样做的一些优点是,可以按逻辑单元考虑,并使用彼此不同的格式来对待特殊的字符编码,考虑下面简短的Perl 脚本:如果运行这个脚本,而不是按单独的组成标识来考虑,而且HTM
使用CGI.pm 生成输出,而不是编写自己原始的H T M L,这样做的一些优点是,可以按逻辑单元考虑,而不是按单独的组成标识来考虑,而且HTML 不太可能含有错误(我说“不太可能”的原因是CGI.pm 不禁止做古怪的事情,如含有一列内部的标题)。除此之外,对于
编写的非标记文本,CGI.pm 提供自动的字符转义,如HTML 中指定的‘<’和‘>’。
如果愿意,CGI.pm 生成输出方法的使用并不排斥编写自己原始的H T M L。可以将这两种方法混合起来,组合调用具有生成文字标识的显示语句的CGI.pm 方法。
2. 转义的HTML 和URL 文本
如果经CGI.pm 方法,如start_html( ) 或h1( ),编写非标记的文本,则自动地转义文本中的特定字符。例如,如果使用下面的语句生成标题,则标题文本中的‘ &’字符将由C G I . p m 转换为‘& a m p ;’:
print $CGI->start_html (-title=>"A,B&C");
如果不使用CGI.pm 生成输出的方法编写非标记的文本,则可能应该先让它经过escapeHTML( ) ,以便确保可以正确地转义任何指定的字符。当构造可能含有特定字符的URL 时也是这样,尽管在那种情况下应该使用escape( ) 方法来代替它。使用适当的编码方法是很重要的,因为每种方法都将不同的字符集作为特殊的字符来对待,并使用彼此不同的格式来对待特殊的字符编码。考虑下面简短的Perl 脚本:
如果运行这个脚本,则它生成下面的输出,从这里可以看到HTML 文本的编码不同于URL 的编码:
更多精彩
赞助商链接