github乱码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了github乱码相关的知识,希望对你有一定的参考价值。
公司有亿赛通,所以在公司上传代码到github后,在家里电脑下载代码都是乱码 ,如何破解这个问题
参考技术A git diff 对比文件的差异git branch 列出所有分支
git log 显示提交记录
搜索
分支
git brach 分支名 创建分支
git checkout 分支名 切换分支
提交
git add 跟踪新文件或者已有文件的改动,或者用来解决冲突
git commit 把文件从stage提交到branch
删除
git rm 文件名 不但从stage中删除,同时删除物理文件
MySqlBulkLoader 中文乱码
原文:MySqlBulkLoader 中文乱码MySQL驱动:MySqlConnector
GitHub地址:https://github.com/mysql-net/MySqlConnector.git
文档地址:https://mysql-net.github.io/MySqlConnector/
代码插入之后发现出现中文乱码现象。
原来的代码逻辑简略版
实现逻辑梳理,将数组写入csv,通过MySqlBulkLoader批量插入
public async Task BulkLoadLocalCsvFile<T>(IEnumerable<T> dataSource, string tableName)
using (var connection = new MySqlConnection(GetLocalConnectionString()))
await connection.OpenAsync();
var path = Path.GetTempFileName();
MySqlBulkLoader bl = new MySqlBulkLoader(connection);
bl.FileName = path;
bl.TableName = tableName;
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文件的字符集
- 需要指定StreamWriter字符集
- 需要指定MySqlBulkLoader字符集
指定csv文件的字符集
写CSV文件借助的是开源包CsvHelper。
CsvHelper
- GitHub地址:https://github.com/JoshClose/CsvHelper
- nuget地址:https://www.nuget.org/packages/CsvHelper/12.1.2
指定 CsvHelper.Configuration.Configuration
字符集
var configuration = new Configuration
Encoding = Encoding.UTF8
;
没能解决。
指定StreamWriter字符集
var writer = new StreamWriter(path, true, Encoding.UTF8)
不行。
指定MySqlBulkLoader字符集
bl.CharacterSet = "UTF8";
乱码解决。
以上是关于github乱码的主要内容,如果未能解决你的问题,请参考以下文章