golang의 기본 인코딩은 utf-8이지만 웹페이지에는 일반적인 "gb2312", "gbk" 등 다양한 형식이 있습니다. 이러한 인코딩된 웹 페이지를 처리할 때 큰 왜곡된 문자가 나타납니다. Golang에는 자체 인코딩 및 디코딩 패키지가 없으므로 타사 패키지의 도움을 받아 처리해야 합니다. 추천: golang 튜토리얼
타사 패키지
code.google.com/p/mahonia
사용 소개
코드는 Google 서버에서 호스팅되는 것 같습니다. github A mahonia.
먼저 원하는 인코딩 형식이 지원되는지 확인하세요. 그렇지 않으면 반환 값은 nil
func GetCharset(name string) *Charset
if mahonia.GetCharset(char) == nil { return nil, fmt.Errorf("%s charset not suported \n", char)}
특정 인코딩 형식에 대한 디코더 만들기
func NewDecoder(name string ) Decoder
dec := mahonia.NewDecoder(char)
그런 다음 직접 디코딩합니다. 일반적으로 사용되는 것은 문자열에서 직접 디코딩하고 io stream
func(d Decoder) ConvertString(s string) string
func(d Decoder) NewReader(rd io)입니다. .Reader) *Reader
여기에서는 io 흐름이 사용됩니다. 왜냐하면 일관된 프레젠테이션을 용이하게 하기 위해 아래에서 jquery와 유사한 툴킷도 사용되기 때문입니다
rd := dec.NewReader(resp.Body)
위 내용은 golang 웹 개발 시 잘못된 코드의 원인과 해결 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!