@ar2rsoft
PHP-developer

Как вывести кириллицу в браузер на GO?

Добрый день, есть код, пример из интернета, выводящий текст из адресной строки.

Допустим
1. Переход на example.com/test выведет нам "Hello test"
2. Переход на example.com/тест выведет "Hello %D1%82%D0%B5%D1%81%D1%82"

Гугл говорит использовать "net/url", но при попытке получаю ошибку:
./index.go:16:35: url.PathUnescape undefined (type string has no field or method PathUnescape)


Полный код:
package main

import (
    "net/http"
    "strings"
    "net/url"
)

func sayHello(w http.ResponseWriter, r *http.Request) {
    name := "World"
    url := strings.Trim(r.RequestURI, "/")
    if len(url) > 0 {
        name = strings.Split(url, "/")[0]
        name = strings.ToUpper(name[0:1]) + name[1:] // change first symbol to Uppercase
    }
    w.Write([]byte("Hello, " + url.PathUnescape(name) + "!"))
}

func main() {
    http.HandleFunc("/", sayHello)
    err := http.ListenAndServe(":9001", nil)
    if err != nil {
        panic(err.Error())
    }
}


Собственно вопрос, как штатными методами реализуется конвертация % в читаемый вид? Уж очень нужны кириллические урлы.
  • Вопрос задан
  • 227 просмотров
Решения вопроса 1
@ar2rsoft Автор вопроса
PHP-developer
Проблема в переменной url, объявленной перед вызовом url.QueryUnescape.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
chupasaurus
@chupasaurus
Сею рефлекторное, злое, временное
Read RFC, Luke.
  1. Декодируйте URI с помощью QueryUnescape из net/url
  2. ?????
  3. PROFIT
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы