我在ubuntu上安装了Project Open。
每当tcl中有一个空字符串时,HTML表单就会包含一个不可打印的字符。
可能导致问题的原因是什么? Webserver是openACS / AOLServer
TCL代码:set email ""
(index.tcl)
ADP代码:email="@email@" (index.adp)
HTML输出:<input type="text" name="email" value="?"
(当我将网页保存为htm文件时,?在十六进制编辑器中显示十六进制代码00 - 不确定这是否正确。 无论如何,&#34;&#34;之间应该没有任何特征。为了价值)
更新1:
ADP代码:email="t@email@t" (index.adp)
HTML输出:<input type="text" name="email" value="tt"
所以它似乎真的是一个空字符串。它在ADP文件中搞砸了。
更新2:
根据邪恶的otto的答案,它似乎是一个AOL服务器bug
怎么解决?
nsd -V
AOLserver / 4.5.1(aolserver4_5)
CVS标签:$名称:aolserver_v45_r1 $
建于2014年4月2日08:27:37
Tcl版本:8.6
平台:linux
答案 0 :(得分:4)
在某些版本的AOLserver中存在已知错误(4.5.0到最后一次发布,但在cvs HEAD中已修复)导致ns_quotehtml
在传递空字符串时返回无效数据。 OpenACS检测并解决这个bug,但有一个版本没有。
受影响版本的解决方法是将ns_quotehtml
中的ad_quotehtml
更改为template::adp_compile
,packages/acs-templating/tcl/parse-procs.tcl
中定义
请参阅http://openacs.org/forums/message-view?message_id=4078333