本文摘自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-ddd-sample
golang并发编程是什么
golang gmssl编译不过
golang进行调试操作方法
源码读起来,go源码共读计划
golang 开发的 web 有哪些框架?
用 go stl 查询 db 引发的内存泄露
golang和python的区别
golang不能发送udp广播
手撸golang 结构型设计模式 门面模式
更多相关阅读请进入《golang》频道 >>
老貘
一个与时俱进的Go编程知识库。
转载请注明出处:木庄网络博客 » golang解决中文乱码的方法