设为首页
收藏本站
最新授权:2023.03
切换到宽版
登录
注册
找回密码
搜索
搜索
本版
帖子
用户
快捷导航
首页
门户首页
论坛
论坛首页
导读
Guide
授权
Halcon试用授权下载
Halcon授权
Halcon视觉技术网
»
论坛
›
视觉软件技术
›
C++/C#/Python
›
C#写csv文本文件含有中文出现乱码?
返回列表
C#写csv文本文件含有中文出现乱码?
[复制链接]
绝地武士
发表于 2018-9-1 18:15:31
|
显示全部楼层
|
阅读模式
利用StreamWriter写文件到文件中,中文全部变成了乱码:
怎么解决呢???
利用UE查看文件编码情况:
去查查我们的第一个字符的所有编码对比下:
发现好像是UTF-8编码的?
查询MSDN看看:
确实默认是UTF-8编码,汉字一般三个字节存储,在我们的电脑上(默认是本地的GBK编码)打开,肯定乱码了!
而且,我的字符串中除了中文还有英文的逗号,也就是说汉字占两个字节,但是英文必须是一个字节,那设置GBK或者GB2312不就好了么?
结果发现Encoding里面没有这个编码,查看了ASCII和Unicode、UTF系列编码,都不符合当前的情况?至于为什么不符合我们慢慢谈论就可以了。
那就只有默认编码了,这个默认编码就是指跟随我们的系统的编码,还好我们都是中文编码,所以这个应该就可以!
写流对象设置文件流属性为:StreamWriter sw = new StreamWriter(fs,Encoding.Default); 默认编码;
编译过后,写一个文件看看
发现中文的第一个字的编码已经变成2个字节了(D0 F2正好是我们第一个字的GBK编码),也就是默认的GBK生效了!
至此,文件编码就修正过来了!
当然,为了全球通用的话,改成UTF8最好不过!
回复
举报
半分雨
发表于 2018-9-2 09:46:18
|
显示全部楼层
编码格式utf-8设置一下
回复
举报
芜湖小肖
发表于 2018-9-2 09:54:23
|
显示全部楼层
写文本文件含有中文出现乱码?
回复
举报
波士华
发表于 2018-9-2 10:23:32
|
显示全部楼层
加上Ecoding.UTF8就可以了,否则会出现乱码
回复
举报
芜湖小肖
发表于 2018-9-2 12:10:57
|
显示全部楼层
本帖最后由 芜湖小肖 于 2018-9-2 12:12 编辑
补充:1、在学员使用的Tools类里面,2、Log方法后面,true后加, Encoding.UTF8即可。3、换成题主的方式也可以,即在我们学员使用的Tools方法里面找到log方法添加, Encoding.Default亲测可以(StreamWriter SW1 = new StreamWriter(strPath,true, Encoding.Default);)。原理方面参看题主。
回复
举报
夜行人
发表于 2018-9-3 08:45:05
|
显示全部楼层
改变一下编码格式即可
回复
举报
hooper_he
发表于 2018-10-28 16:47:16
|
显示全部楼层
编码不对吧
回复
举报
万折东流
发表于 2020-1-3 08:50:36
|
显示全部楼层
楼主威武
回复
举报
Mr丶Tang
发表于 2020-1-3 22:05:58
|
显示全部楼层
编码用UTF-8,格式不对
回复
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表