当前位置:编程学习 > C#/ASP.NET >>

用程序导入CSV文件到数据库,Schema.ini碰到不认中文文件名的问题,急!!

我在C#中用ODBC TEXT Driver导入CSV文件时,如果文件名是中文,则在schema.ini中找不到匹配定义节,如果字段名是中文,显示出来的也是乱码。 

下面是我测试的例子: 
1,员工信息.csv 文件内容如下 

ID,姓名,年龄 
01,Baby,"22" 
2,Cicy,Tweenty 
33,Deny,33 

2,schema.ini文件定义如下 

[员工信息.csv] 
ColNameHeader=True 
Format=CSVDelimited 
MaxScanRows=25 
CharacterSet=OEM 
Col1=ID Char 
Col2=姓名 Char 
Col3=年龄 Char 

3,连接字符串如下: 

string strConnString="Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq="+txtCSVFolderPath.Text.Trim()+";Extensions=asc,csv,tab,txt;Persist Security Info=False"; 


请大侠帮忙看看,怎么设置才能支持中文呢? --------------------编程问答-------------------- 自古以来 只有导出的,没有导入CSV 文件的。

要不当作 TXT ,批量分析导入。 --------------------编程问答-------------------- 可能是:

文本文件的默认编码为ANSI
你把它另存为UTF8试试 --------------------编程问答-------------------- 我们做的是外包,没遇到中文问题,
up,学习! --------------------编程问答--------------------
引用 1 楼 live_7sky 的回复:
自古以来 只有导出的,没有导入CSV 文件的。 

要不当作 TXT ,批量分析导入。

不会吧,现在的系统谁想在界面上一个个一条条录入数据到系统里面,数据少还好,数据多了用户都不干的。
批量分析导入的方式我试过了,但不方便在导入前对导入的数据做检测,如检测不为空的,检测主键重复等。
如果用Text Driver的话可以当数据库表一样用SQL来检测的。 --------------------编程问答--------------------
引用 2 楼 wumingbing_8027 的回复:
可能是: 

文本文件的默认编码为ANSI 
你把它另存为UTF8试试

谢谢,是把哪个文件存成UTF8啊,schema.ini还是要导入的数据文件? --------------------编程问答-------------------- 大大们帮忙看看啊,我想有办法解决的,不是无解的啊。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,