使用语句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的方式导入数据库