1. 编码格式转换

问题:在golang调试时出现中文乱码
原因:golang默认不支持UTF-8以外的字符集
解决:将字符串的编码转换成UTF-8

  1. 代码实现
  • 首先下载mahonia包
go get github.com/axgle/mahonia
  • 创建一个func,调用ConvertToString方法
package main

import (
    "fmt"
    "github.com/axgle/mahonia"
)

func ConvertToString(src string, srcCode string, tagCode string) string {
    srcCoder := mahonia.NewDecoder(srcCode)
    srcResult := srcCoder.ConvertString(src)
    tagCoder := mahonia.NewDecoder(tagCode)
    _, cdata, _ := tagCoder.Translate([]byte(srcResult), true)
    result := string(cdata)
    return result
}

func main() {
    str := "乱码的字符串变量"
    str = ConvertToString(str, "gbk", "utf-8")
    fmt.Println(str)
}