C#中mySQL 使用语句LOAD DATA LOCAL INFILE 'record.log' INTO TABLE PT_LOG;导入数据时乱码问题

来源:互联网 发布:java语言程序设计2 编辑:程序博客网 时间:2024/05/16 20:30

使用语句LOAD DATA LOCAL INFILE 'record.log' INTO TABLE PT_LOG;导入数据时乱码问题

查询LOAD DATA LOCAL INFILE的语法,发现CHARACTER SET gbk;

1.select * from information_schema.character_sets;查询mysql支持的编码格式;默认为utf-8格式

2.查看record.log的编码方式 ,我的项目中该文件为通过cmd生成的文件,编码方式为GBK,而C#默认编码方式为GB2312,这样gbk格式的文件通过GB2312处理,再用utf-8的格式导入数据库,我们看到的也只能是一堆乱码了


所以,首先在程序中用gbk的编码方式处理文本

StreamReader sr = new StreamReader( "ecord.log",Encoding.GetEncoding("gbk"));

StreamWriter sw = new StreamWriter("record.log",false,Encoding.GetEncoding("gbk"));

其次,将文本中的信息用gbk的方式导入数据库

LOAD DATA LOCAL INFILE 'record.log' INTO TABLE PT_LOG CHARACTER SET gbk;
0 0
原创粉丝点击