我是使用Go语言的Revel框架。最近,当我运行以下代码时:
import (
...
"net/url"
...
)
revel.INFO.Println(url.QueryEscape("http://hello.com"))
I get
INFO 2014/07/09 14:58:34 user.go:39: http%A(MISSING)%F(MISSING)%F(MISSING)hello.com
当我希望得到更多类似于的东西时
INFO 2014/07/09 14:58:34 user.go:39: http%3A%2F%2Fhello.com
为什么输出中的
%3A
被%A(MISSING)
替换了,我该如何修复?我能看到唯一可能生成字符串"(MISSING)"的go代码是在
fmt
包中,但从查看net/url
源码包的代码来看,我不知道这是怎么发生的。我是否可能访问了旧版本(或有问题的版本)的go库?我的设置可能还存在其他问题吗?相关: 编码/解码URL 相关Go源代码:http://golang.org/src/pkg/net/url/url.go?s=14330:14361#L553