【发布时间】:2026-01-12 14:55:01
【问题描述】:
我在 ubuntu 上安装了 Project Open。
只要 tcl 中有一个空字符串,那么 HTML 表单就会包含一个不可打印的字符。
什么可能导致问题?网络服务器是 openACS / AOLServer
TCL代码:set email ""(index.tcl)
ADP 代码:email="@email@" (index.adp)
HTML 输出:<input type="text" name="email" value="?"
(当我将网页保存为 htm 文件时,?在十六进制编辑器中显示十六进制代码 00 - 不确定这是否正确。 无论如何,“”之间应该没有字符作为值)
更新 1:
ADP 代码:email="t@email@t" (index.adp)
HTML 输出:<input type="text" name="email" value="tt"
所以它看起来真的是一个空字符串。这在 ADP 文件中被弄乱了。
更新 2:
根据 evil otto 的回答,这似乎是 AOL 服务器错误
如何解决?
nsd -V
AOLserver/4.5.1 (aolserver4_5)
CVS 标签:$名称:aolserver_v45_r1 $
建成:2014 年 4 月 2 日 08:27:37
Tcl 版本:8.6
平台:linux
【问题讨论】:
-
您能提供更多细节吗?是某个 Tcl 源文件中的空字符串,还是来自用户输入或其他地方?
-
空字符串来自tcl源文件。我试过 [string length $email] 返回 0
-
谢谢,虽然看不到问题。 (几年前我参与了一个项目开放安装,但现在无法访问它。)
-
我不知道可能导致问题的原因,但是 00 的十六进制表示空字符。
-
这是一个在不了解您的设置的情况下调试的棘手问题。您能否检查 AOLserver 配置文件中的以下设置(在 ns_section ns/parameters 部分): ns_param HackContentType 1 ns_param DefaultCharset utf-8 ns_param HttpOpenCharset utf-8 ns_param OutputCharset utf-8 ns_param URLCharset utf-8
标签: string tcl openacs project-open aolserver