GO言語でURLエスケープするには、"net/url"パッケージのEncode関数です
実際のところ
package main import ( "fmt" "net/url" ) func main() { v := url.Values{} v.Set("sample", "ななし") v.Add("person", "صلاح الدين الأيوبي") v.Add("person", "木野修造") fmt.Println(v.Encode()) }
結果はこんな感じ
person=%D8%B5%D9%84%D8%A7%D8%AD+%D8%A7%D9%84%D8%AF%D9%8A%D9%86+%D8%A7%D9%84%D8%A3%D9%8A%D9%88%D8%A8%D9%8A&person=%E6%9C%A8%E9%87%8E%E4%BF%AE%E9%80%A0&sample=%E3%81%AA%E3%81%AA%E3%81%97