相关疑难解决方法(0)

我什么时候应该在C#中使用"使用"块?

是否存在我应该(或不应该?)使用"使用"块的特定情况:

using(SomeType t = new SomeType()){
    ...
}
Run Code Online (Sandbox Code Playgroud)

.net c# using

70
推荐指数
4
解决办法
8万
查看次数

SSIS:代码页返回到65001

在我正在编写的SSIS程序包中,我有一个CSV文件作为源。在“连接管理器”的“常规”页面上,它具有65001“代码”页面(我正在测试某些东西)。不检查Unicode。

这些列与varchar其他列一起映射到SQL Server目标表。

目的地出现错误:无法处理“ columnname”列,因为为其指定了多个代码页(65001和1252)。

我的SQL列必须为varchar,而不是nvarchar因为其他使用它的应用程序。

然后,在“连接管理器”的“常规”页面上1252 (ANSI - Latin I),将“代码”页面更改为,然后单击“确定”,但是当我再次打开它时,它又回到了65001。是否(仅出于测试目的)我是否检查Unicode都没有影响。

需要注意的是,所有这一切都是在CSV文件和SQL表添加和删除了列(用户知道)之后开始发生的。在此之前,我没有任何问题。是的,我在“高级编辑器”中刷新了OLE DB目标。

这是SQL Server 2012,并且随BIDS和SSIS一起提供。

sql-server csv encoding ssis etl

8
推荐指数
2
解决办法
1万
查看次数

在C#中将ANSI(Windows 1252)转换为UTF8

之前我已经在Stack Overflow上以循环方式询问了这个问题,并希望这次能够做到正确.如何将ANSI(代码页1252)转换为UTF-8,同时保留特殊字符?(我知道UTF-8支持比ANSI更大的字符集,但是如果我可以保留ANSI支持的所有UTF-8字符并用其他?东西替换其余的字符集就可以了)

为什么我要转换ANSI→UTF-8

我基本上编写的程序将vCard文件(VCF)拆分为单个文件,每个文件包含一个联系人.我注意到诺基亚和索尼爱立信手机以UTF-8(无BOM)保存备份VCF文件,但Android将其保存为ANSI(1252).上帝知道其他手机以什么格式保存它们!

所以我的问题是

  1. vCard文件的字符编码是否有行业标准?
  2. 哪个更容易解决我的问题?将ANSI转换为UTF8(和/或反过来)或尝试检测输入文件具有哪种编码并通知用户有关它?

tl; dr 需要知道如何将字符编码从(ANSI/UTF8)转换为(UTF8/ANSI),同时保留所有特殊字符.

.net c# string character-encoding special-characters

4
推荐指数
4
解决办法
4万
查看次数