海南儋州政务网,智动,cicistudy
mysql驱动:mysqlconnector
github地址:https://github.com/mysql-net/mysqlconnector.git
文档地址:https://mysql-net.github.io/mysqlconnector/
代码插入之后发现出现中文乱码现象。
实现逻辑梳理,将数组写入csv,通过mysqlbulkloader批量插入
public async task bulkloadlocalcsvfile() { using (var connection = new mysqlconnection(getlocalconnectionstring())) { await connection.openasync(); var path = path.gettempfilename(); mysqlbulkloader bl = new mysqlbulkloader(connection); bl.filename = path; bl.tablename = "test"; bl.fieldterminator = ","; bl.fieldquotationcharacter = '"'; bl.fieldquotationoptional = true; bl.local = true; using (var writer = new streamwriter(path)) { var configuration = new configuration { hasheaderrecord = false, }; using (var csv = new csvwriter(writer, configuration)) { csv.writerecords(datasource); var writerconfiguration = csv.context.writerconfiguration; var map = writerconfiguration.maps.find<t>(); foreach (var membermap in map.membermaps) { var membername = membermap.data.member.name; loader.columns.add(membername); } } } int rowcount = await bl.loadasync(); file.delete(path); } }
写csv文件借助的是开源包csvhelper。
csvhelper
指定 csvhelper.configuration.configuration
字符集
var configuration = new configuration { encoding = encoding.utf8 };
没能解决。
var writer = new streamwriter(path, true, encoding.utf8)
不行。
bl.characterset = "utf8";
乱码解决。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Net Core Web Api项目与在NginX下发布的方法
asp.net core3.1 引用的元包dll版本兼容性问题解决方案
IdentityServer4实现.Net Core API接口权限认证(快速入门)
ASP.NET Core MVC通过IViewLocationExpander扩展视图搜索路径的实现
网友评论