UTF-8,UTF-16和UTF-32有什么区别?
我知道他们都将存储Unicode,并且每个都使用不同的字节数来表示字符.选择一个优于另一个是否有优势?
我正在尝试将大型CSV文件(几个演出)插入SQL Server,但是一旦我通过导入向导并最终尝试导入该文件,我会收到以下错误报告:
执行(错误)消息错误0xc02020a1:数据流任务1:数据转换失败.列""标题""的数据转换返回状态值4和状态文本"文本被截断或一个或多个字符在目标代码页中不匹配.".(SQL Server导入和导出向导)
错误0xc020902a:数据流任务1:"源 - Train_csv.Outputs [平面文件源输出] .Columns ["Title"]"失败,因为发生了截断,截断行处置"Source - Train_csv.Outputs [Flat File Source]输出] .Columns ["Title"]"指定截断失败.指定组件的指定对象上发生截断错误.(SQL Server导入和导出向导)
错误0xc0202092:数据流任务1:在数据行2上处理文件"C:\ Train.csv"时发生错误.(SQL Server导入和导出向导)
错误0xc0047038:数据流任务1:SSIS错误代码DTS_E_PRIMEOUTPUTFAILED.Source - Train_csv上的PrimeOutput方法返回错误代码0xC0202092.当管道引擎调用PrimeOutput()时,组件返回失败代码.失败代码的含义由组件定义,但错误是致命的,管道停止执行.在此之前可能会发布错误消息,其中包含有关失败的更多信息.(SQL Server导入和导出向导)
我创建了表格以首先插入文件,并且我将每列设置为保存varchar(MAX),所以我不明白我怎么仍然有这个截断问题.我究竟做错了什么?
我正在尝试用C#编写一个程序,它将带有多个联系人的vCard(VCF)文件拆分为每个联系人的单个文件.据我所知,vCard需要保存为ANSI(1252)才能让大多数手机读取它们.
但是,如果我用打开VCF档案StreamReader,然后将其用回写StreamWriter(设置1252的编码格式),所有的特殊字符,如å,æ和ø越来越写成?.当然ANSI(1252)会支持这些字符.我该如何解决?
编辑:这是我用来读写文件的代码片段.
private void ReadFile()
{
StreamReader sreader = new StreamReader(sourceVCFFile);
string fullFileContents = sreader.ReadToEnd();
}
private void WriteFile()
{
StreamWriter swriter = new StreamWriter(sourceVCFFile, false, Encoding.GetEncoding(1252));
swriter.Write(fullFileContents);
}
Run Code Online (Sandbox Code Playgroud)