#2185 use Go sub-repo to detect encoding

This commit is contained in:
Unknwon 2015-12-13 19:56:33 -05:00
parent 79dcd7ee6e
commit 95f9c85bcc
7 changed files with 11 additions and 21 deletions

View file

@ -22,8 +22,7 @@ import (
"github.com/Unknwon/com"
"github.com/Unknwon/i18n"
"github.com/microcosm-cc/bluemonday"
"github.com/gogits/chardet"
"golang.org/x/net/html/charset"
"github.com/gogits/gogs/modules/avatar"
"github.com/gogits/gogs/modules/setting"
@ -52,13 +51,9 @@ func ShortSha(sha1 string) string {
return sha1
}
func DetectEncoding(content []byte) (string, error) {
detector := chardet.NewTextDetector()
result, err := detector.DetectBest(content)
if result.Charset != "UTF-8" && len(setting.Repository.AnsiCharset) > 0 {
return setting.Repository.AnsiCharset, err
}
return result.Charset, err
func DetectEncoding(content []byte) string {
_, name, _ := charset.DetermineEncoding(content, setting.Repository.AnsiCharset)
return name
}
func BasicAuthDecode(encoded string) (string, string, error) {

View file

@ -127,11 +127,7 @@ func Sha1(str string) string {
}
func ToUtf8WithErr(content []byte) (error, string) {
charsetLabel, err := base.DetectEncoding(content)
if err != nil {
return err, ""
}
charsetLabel := base.DetectEncoding(content)
if charsetLabel == "UTF-8" {
return nil, string(content)
}