Allow explicit charset/codepage setting for ANSI source files to alleviate issue #1088

This commit is contained in:
Vladimir Vissoultchev 2015-07-27 21:58:51 +03:00
parent 31f6069dbe
commit 53bcf373c1
2 changed files with 5 additions and 0 deletions

View file

@ -55,6 +55,9 @@ func ShortSha(sha1 string) string {
func DetectEncoding(content []byte) (string, error) { func DetectEncoding(content []byte) (string, error) {
detector := chardet.NewTextDetector() detector := chardet.NewTextDetector()
result, err := detector.DetectBest(content) result, err := detector.DetectBest(content)
if result.Charset == "ISO-8859-1" {
return setting.AnsiCharset, err
}
return result.Charset, err return result.Charset, err
} }

View file

@ -84,6 +84,7 @@ var (
// Repository settings. // Repository settings.
RepoRootPath string RepoRootPath string
ScriptType string ScriptType string
AnsiCharset string
// UI settings. // UI settings.
IssuePagingNum int IssuePagingNum int
@ -312,6 +313,7 @@ func NewConfigContext() {
RepoRootPath = path.Clean(RepoRootPath) RepoRootPath = path.Clean(RepoRootPath)
} }
ScriptType = sec.Key("SCRIPT_TYPE").MustString("bash") ScriptType = sec.Key("SCRIPT_TYPE").MustString("bash")
AnsiCharset = sec.Key("ANSI_CHARSET").MustString("ISO-8859-1")
// UI settings. // UI settings.
IssuePagingNum = Cfg.Section("ui").Key("ISSUE_PAGING_NUM").MustInt(10) IssuePagingNum = Cfg.Section("ui").Key("ISSUE_PAGING_NUM").MustInt(10)