CMD下执行Go出现中文乱码的解决方法是什么
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,CMD下执行Go出现中文乱码的解决方法是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、报错信息如下2、原因分析因为Go的编码是U
千家信息网最后更新 2026年11月02日CMD下执行Go出现中文乱码的解决方法是什么
CMD下执行Go出现中文乱码的解决方法是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
1、报错信息如下

2、原因分析
因为Go的编码是UTF-8,而CMD的活动页是cp936(GBK),因此产生乱码。在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容。在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即编码是中文字符集或者英文字符集。
3、解决方法
golang处理中文时默认是utf8,当遇到其他如GBK字符是就会出现乱码,此处介绍golang 官方golang.org/x/text/encoding/simplifiedchinese包下的编码转换
simplifiedchinese.GB18030.NewDecoder().Bytes()
4、封装处理乱码方法
package mainimport "golang.org/x/text/encoding/simplifiedchinese"type Charset stringconst ( UTF8 = Charset("UTF-8") GB18030 = Charset("GB18030"))func ConvertByte2String(byte []byte, charset Charset) string { var str string switch charset { case GB18030: decodeBytes, _ := simplifiedchinese.GB18030.NewDecoder().Bytes(byte) str = string(decodeBytes) case UTF8: fallthrough default: str = string(byte) } return str}5、解决乱码完整代码
package mainimport ( "bytes" "fmt" "golang.org/x/text/encoding/simplifiedchinese" "os" "os/exec")type Charset stringconst ( UTF8 = Charset("UTF-8") GB18030 = Charset("GB18030"))func ConvertByte2String(byte []byte, charset Charset) string { var str string switch charset { case GB18030: decodeBytes, _ := simplifiedchinese.GB18030.NewDecoder().Bytes(byte) str = string(decodeBytes) case UTF8: fallthrough default: str = string(byte) } return str}//arg 执行的bat文件完整路径//返回错误信息及消息提示func ExecCommand(arg string) (error, string) { c := exec.Command("cmd", "/C", arg) w := bytes.NewBuffer(nil) c.Stderr = w message := "执行" + arg + "文件抽取数据成功" _, err1 := os.Stat(arg) var err error //判断文件是否存在 if err1 != nil { err := c.Run() if err != nil { fmt.Printf("Run returns: %s\n", err) } //处理中文乱码 garbledStr := ConvertByte2String(w.Bytes(), GB18030) message = err1.Error() + garbledStr //文件不存在并且执行报错 return err, message } else { err = c.Run() if err != nil { //处理中文乱码 garbledStr := ConvertByte2String(w.Bytes(), GB18030) //文件存在 但执行bat文件报错 return err, garbledStr } } //文件存在并且执行bat文件成功 return err, message}看完上述内容,你们掌握CMD下执行Go出现中文乱码的解决方法是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
文件
乱码
中文
方法
编码
UTF-8
处理
内容
字符
成功
代码
信息
原因
命令
字符集
更多
问题
束手无策
为此
原因分析
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
江苏根荣互联网科技
新华互联网科技学校
互联网科技公司官网
米客互联网科技
广州善班互联网科技
长亮科技互联网金融
丰台科技园 互联网公司
互联网大会黑科技排名
互联网科技有哪些公司
崇明区互联网教育科技诚信经营
深圳育鹏互联网科技有限公司招聘
济南有互联网科技公司吗
伊宁互联网科技做什么的
高科技互联网套路
工业互联网科技创业
互联网科技企业商标注意事项
互联网科技创新创业项目
互联网金融金融科技
保山浩联互联网科技有限公司
伍佰万互联网科技是干嘛的
哈尔滨大商圈互联网科技有限公司
科技金融是不是互联网金融
疫情对互联网科技公司影响
苏州大垚互联网科技
恒银科技与互联网金融
中国互联网有什么科技含量
华夏恒生互联网科技013171
徐州市互联网科技有限公司
互联网科技手抄报图片
恒生科技互联网指数十大成分股