golang处理excel打开csv乱码问题
最近在一个项目中导入导出csv文件的时候用excel打开都会出现乱码的情况,但是用number打开却是正常的,由此可知是编码问题导致。
在导入读取csv文件时,因为golang默认支持utf8编码,所以如果导入的csv文件不是utf8编码就会产生乱码,所以在读取文件的时候需要进行一个编码格式转换。
用到两个包:
"golang.org/x/text/encoding/simplifiedchinese" "golang.org/x/text/transform"
然后将GBK编码转换为UTF8编码:
reader := transform.NewReader(bytes.NewReader(s), simplifiedchinese.GBK.NewDecoder())
同样,在导出的时候需要在csv文件的开头写入 UTF-8 BOM
buf := new(bytes.Buffer)// BOM头,解决excel乱码问题buf.WriteString("\xEF\xBB\xBF")w := csv.NewWriter(buf)
这样之后用excel打开就不会出现乱码了。
golang处理excel打开csv乱码问题相关推荐
- EXCEL 打开 csv乱码问题
如果csv是UTF8编码的,那么用EXCEL2007打开会乱码 解决方法: 1,用记事本打开csv,另存为ANSI编码,再用EXCEL2007打开就不会乱码 但是在UNITY_ngui中就无法读取了, ...
- bug:生产问题,Golang解决csv文件用excel打开中文乱码问题及常见编码和BOM头关系
bug:Golang解决csv文件用excel打开中文乱码问题 1 场景及分析 场景:今天在生成csv文件之后,测试发现用office和wps打开乱码 分析:经过测试之后发现使用记事本打开不乱码,同时 ...
- EXCEL打开CSV文件乱码的解决方法
用C#程序通过StreamWriter导出字符串,导出生成txt文本文件,用记事本打开正常,改成csv格式,用excel打开乱码,且不能正确识别分列. 后用记事本打开,把编码从utf-8改成ansi之 ...
- excel 打开csv中文乱码
excel 打开csv中文乱码 背景 用linux跑数据,拉取csv文件,下载到本地windows,然后用excel发现中文乱码了 解决办法 在linux中更改文件编码,两种方式 第一种,在打开的时候 ...
- php导入csv wps乱码,《excel打开csv格式乱码》 WPS不兼容EXCEL打开后出现乱码怎么解决...
SAP数据导入Excle后为什么中文显示乱码? 哪位能告知,谢谢 应该是打开方式题!按下列顺序打开: 1.运行Microsoft excel 2.选择菜单件---打开 3.选择你导出的excel文件 ...
- csv文件用excel打开中文乱码如何设置
在平时生活及工作中,我在工作经常会碰到csv文件,我们通过excel工作打开csv文件时容易出现中午字体显示为乱码的情况,这是因为CSV是用UTF-8编码的,而EXCEL是ANSI编码,由于编码方式不 ...
- csv文件导入后台乱码_教师使用Excel打开csv文件出现乱码怎么办-Leo老师
在工作学习中,我们经常会遇到教师使用Excel打开csv文件出现乱码怎么办这样的问题.夏普说过:不经巨大的困难,不会有伟大的事业.因此,面对教师使用Excel打开csv文件出现乱码怎么办我们应该有努力 ...
- csv用excel打开中文乱码
unity中保存成csv文件是非常好用的,只需要用逗号隔开就好,但是今天在保存成csv文件时由于文本存在中文字符所以出现了奇怪的问题. 1.首先是初次写入csv文件后,用excel打开文件中文字符显示 ...
- excel打开csv文件乱码解决办法
参考链接: https://jingyan.baidu.com/article/4dc408484776fbc8d846f168.html 问题:用 Excel 打开 csv 文件,确认有乱码的问题. ...
最新文章
- COM 组件设计与应用(六)——用 ATL 写第一个组件(vc.net)
- 经验总结--我的小程序开发和进化之路
- Python之Matplotlib画图方法
- 机器学习中的数学知识(part2)
- LeetCode 110平衡二叉树-简单
- dhs手术是什么意思_#下颌角手术# #磨骨瘦脸# 下颌角手术多少钱?
- java 抽样_beta分布的采样或抽样(java程序)
- 回归的误差服从正态分布吗_盘点10大回归类型:总有一款深得你心
- android金币动效_Android 仿余额宝数字跳动动画效果完整代码
- android模拟器检测常用方法,Android模拟器检测方案优化
- Fastjson blacklist
- 函数项数列以及函数项级数收敛判别
- html原生js请求
- C#list转JSON(Newtonsoft.Json.dll)(仅做记录)
- C# 读写西门子PLC数据,包含S7协议和Fetch/Write协议,s7支持200smart,300PLC,1200PLC,1500PLC...
- 程序员是如何下载的视频?
- “扣哒杯” AI世青赛公布2021-2022年度全国决赛个人获奖名单
- android10颜色,首款采用10bit屏幕即将发布,你了解色深吗?
- javaweb企业员工考勤管理系统案例
- day7 日期对象定时器
热门文章
- mysql查看表的创建时间
- SpringBoot+Vue
- Two-Stream Convolutional Networks for Action Recognition in Videos双流网络论文精读
- 常见管理学原理以及各种激励理论
- javaweb/ssm/jsp/mysql婚恋交友网站开发与设计
- 成大事的男人应该具备的八种气质
- 部署openstack,nova hypervisor-list 未发现计算节点
- LNMP架构安装及搭建Discuz论坛
- 打造有竞争力的SaaS 营销策略,赢得客户和市场份额
- [012] 微信公众帐号开发教程第12篇-符号表情的发送(下)