ファイルが utf8 かどうかの判定は、以下のように簡単にできる。
fp, err := os.Open(filename) if err != nil { fmt.Println("Can't open file.") os.Exit(1) } defer fp.Close() scanner := bufio.NewScanner(fp) for scanner.Scan() { line := scanner.Text() if !utf8.ValidString(line) { fmt.Println("Not utf8 file.") break } }