我的 ColdFusion(IIS 6 上的 MX7)站点具有搜索功能,可将搜索词附加到 URL,例如http://www.example.com/search.cfm/searchterm
.
我遇到的问题是这是一个多语言网站,因此搜索词可能是另一种语言,例如القاهرة
导致搜索 URL,例如http://www.example.com/search.cfm/القاهرة
问题是当我从 URL 中检索搜索词时。我正在使用cgi.PATH_INFO
检索搜索页面的路径和搜索词并从中提取搜索词,例如/search.cfm/searchterm
,但是,当在搜索中使用 unicode 字符时,它们将转换为问号,例如/search.cfm/??????
.
这些似乎是实际的问号,而不是浏览器无法格式化 unicode 字符,或者它们在输出时被破坏。
我找不到有关 ColdFusion 是否在 URL 中支持 unicode 的任何信息,或者我如何解决这个问题并以某种方式获取完整的 URL - 有人有什么想法吗?
干杯,
汤姆
编辑:进一步的研究让我相信这个问题可能与 IIS 而不是 ColdFusion 有关,但我原来的查询仍然有效。
进一步编辑
结果GetPageContext().GetRequest().GetRequestUrl().ToString()
是http://www.example.com/search.cfm/searchterm/?????
这样看来问题相当深入。