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

指定 CsvHelper.Configuration.Configuration字符集

var configuration = new Configuration

     Encoding = Encoding.UTF8
 ;

没能解决。

指定StreamWriter字符集

var writer = new StreamWriter(path, true, Encoding.UTF8)

不行。

指定MySqlBulkLoader字符集

bl.CharacterSet = "UTF8";

乱码解决。

以上是关于github乱码的主要内容,如果未能解决你的问题,请参考以下文章

MySqlBulkLoader 中文乱码

爬虫(猫眼电影+校花网+github+今日头条+拉钩)

sublime解决gbk中文乱码包括Package Control: Install Package 无法使用

GitHub标星8k!mysql增量备份缺点

解决git乱码

设置spacevim字体显示乱码问题