本文摘自php中文网,作者尚,侵删。

在学习golang读取文件的过程中,遇到中文显示乱码的问题!golang没有自带的编解码包,因此需要借助第三方包
解决方法:
引入第三发转码包:git clone https://github.com/axgle/mahonia.git
示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | package main
import (
"bufio"
"fmt"
"io"
"mahonia"
"os"
)
func main() {
var enc mahonia.Decoder
enc = mahonia.NewDecoder( "gbk" )
file, err := os.Open( "e:/test.txt" )
if err != nil {
fmt.Println( "open file err=" , err)
}
defer file.Close()
reader := bufio.NewReader(file)
for {
str, err := reader.ReadString( '\n' )
if err == io.EOF {
break
}
fmt.Println( "UTF-8 to GBK:" , enc.ConvertString(str))
}
fmt.Println( "文件读取结束" )
}
|
相关推荐:golang教程
以上就是golang解决中文乱码的方法的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
go使用jwt构建用户认证系统
golang regex:反向引用
2021-03-12:go中,如何确定有没有内存泄露,系统里怎么去监控整体的运行情况,日志是怎么处理
gin(6)-模板渲染
golang中slice作为参数会怎么样
手撸golang 行为型设计模式 委派模式
手撸golang etcd raft协议之10
golang中的map是结构体吗
go - 常用签名算法的基准测试
手撸golang 基本数据结构与算法 图的最短路径 狄克斯特拉算法
更多相关阅读请进入《golang》频道 >>
老貘
一个与时俱进的Go编程知识库。
转载请注明出处:木庄网络博客 » golang解决中文乱码的方法