gpt4 book ai didi

http - 我的字符串有特殊字符,http/template 的输出添加了 "(MISSING)"

转载 作者:数据小太阳 更新时间:2023-10-29 03:22:58 28 4
gpt4 key购买 nike

我正在尝试建立一个小型网站,我使用 html/模板来创建动态页面。页面上的一件事是这些 URL 中的 URL 列表,有时我需要字符编码。对于像 ô (%C3%B4) 这样的特殊字符。

当我尝试使用 html/模板将变量解析到页面中时,我得到以下结果:%!c(MISSING)3%!b(MISSING)4。我不知道这里出了什么问题

type Search_list struct {
Search_name string
Search_url string
Search_price float64
}

func generateSearchPage(language int, q string) (string, error) {
/* ommited, fetshing data from elasticsrearch*/

sl := []Search_list{}

var urle *url.URL

//looping through ES results and putting them in a custom List
for _, res := range data.Hits.Hits {

//
//Encode Url
var err error

urle, err = url.Parse(res.Source.URL)

if err != nil {
continue
// TODO: add log
}

//I've tried already the following:
fmt.Println(res.Source.URL) //ô
fmt.Println(url.QueryUnescape(res.Source.URL)) //ô
fmt.Println(urle.String()) //%C3%B4
u, _ := url.QueryUnescape(res.Source.URL)


sl = append(sl, Search_list{res.Source.Name, u, res.Source.Price})
}

var buffer bytes.Buffer
t := template.New("Index template")
t, err = t.Parse(page_layout[language][PageTypeSearch])
if err != nil {
panic(err)
}
err = t.Execute(&buffer, Search_data{
Title: translations[language]["homepage"],
Page_title: WebSiteName,
Listed_items: sl,
})

if err != nil {
panic(err)
}

return buffer.String(), nil // %!c(MISSING)3%!b(MISSING)4
}

最佳答案

@摩西·雷瓦感谢您的帮助,同时我发现了错误

稍后在代码中,我使用

将生成的页面发送到 http 客户端
fmt.Fprintf(w, page) // Here was the error b/c of the % symbols

我刚改成

fmt.Fprint(w, page)

效果很好

关于http - 我的字符串有特殊字符,http/template 的输出添加了 "(MISSING)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50192433/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com