本文摘自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解决中文乱码的方法的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
手撸golang go与微服务 net.rpc之2
golang编译器用什么写的
golang基础数据类型字符串
零基础小白学golang语言还是java语言?
golang的内存管理(中篇)
详解golang怎么开发windows窗口界面
详解 golang 依赖管理之 mod
聊聊dubbo-go-proxy的accesslogfilter
golang入门一:变量
golang无法导包怎么办?
更多相关阅读请进入《golang》频道 >>
老貘
一个与时俱进的Go编程知识库。
转载请注明出处:木庄网络博客 » golang解决中文乱码的方法