Http ISO-8859-1编码网站中的Umlauts
我的非常简单的代码片段:Http ISO-8859-1编码网站中的Umlauts,http,go,encoding,Http,Go,Encoding,我的非常简单的代码片段: import "net/http" import "io" import "os" func main() { resp, err := http.Get("http://example.com") if err == nil { io.Copy(os.Stdout, resp.Body) } } 当example.com编码为charset=iso-8859-1时,我的输出有故障。例如,UMLAUT未正确显示: Hällowörld-->H?l
import "net/http"
import "io"
import "os"
func main() {
resp, err := http.Get("http://example.com")
if err == nil {
io.Copy(os.Stdout, resp.Body)
}
}
当example.com
编码为charset=iso-8859-1
时,我的输出有故障。例如,UMLAUT未正确显示:
Hällowörld-->H?llow?rld
正确显示umlauts的好方法是什么?您可以使用该软件包确定网站的编码,还可以创建一个阅读器,将内容转换为UTF-8
下面是一个工作示例:
package main
import (
"io"
"net/http"
"os"
"golang.org/x/net/html/charset"
)
func main() {
resp, err := http.Get("http://example.com")
if err != nil {
os.Exit(1)
}
r, err := charset.NewReader(resp.Body, resp.Header.Get("Content-Type"))
if err != nil {
os.Exit(1)
}
io.Copy(os.Stdout, r)
}
您可以使用该包来确定网站的编码,还可以创建一个将内容转换为UTF-8的阅读器
下面是一个工作示例:
package main
import (
"io"
"net/http"
"os"
"golang.org/x/net/html/charset"
)
func main() {
resp, err := http.Get("http://example.com")
if err != nil {
os.Exit(1)
}
r, err := charset.NewReader(resp.Body, resp.Header.Get("Content-Type"))
if err != nil {
os.Exit(1)
}
io.Copy(os.Stdout, r)
}
可能是相关的。或者将您的终端设置为iso-8859-1:-)可能是相关的。或者将您的终端设置为iso-8859-1:-)效果非常好!感谢您提供详细的代码片段!工作起来很有魅力!感谢您提供详细的代码片段!