我正在使用包含以下字符的CSV:
” and •
我正在通过OleDb阅读CSV,提供者是Microsoft.Jet.OLEDB.4.0。当数据加载到OleDbCommand时,字符将分别转换为以下内容:
“ and •
我怀疑连接字符串中可能存在整理设置,但我无法找到任何相关内容。
我可以确认以下内容:
有什么想法吗?
答案 0 :(得分:10)
最后!感谢@HABJAN,我能够达到分辨率,就像在连接字符串的扩展属性中设置CharaterSet一样简单。对于我的情况,它是UTF-8 ...默认情况下常用于PHPMyAdmin,这是我从中检索数据的地方。
产生的工作连接字符串:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"{0}\";Extended Properties=\"text;HDR=Yes;FMT=Delimited;CharacterSet=65001;\""
Key是CharacterSet = 65001(Code Page Identifier for UTF-8),这可能对一些整理精明的人来说是显而易见的,但我多年来设法避免了这些问题,并且在这方面从未遇到过这些问题。
在遵循@ http://msdn.microsoft.com/en-us/library/ms709353%28v=vs.85%29.aspx找到的文档并将CharacterSet设置为与上述相同时,我也能够使HABJAN的解决方案正常工作。
对于我的情况,这是一个更好的方法,因为它是一个更简单/更易维护的解决方案,但+1来HABJAN帮助我到达那里!
由于
答案 1 :(得分:4)
您可以创建schema.ini
文件并使用格式和CharacterSet
属性。
看看这个示例:How to read data from Unicode formatted text file and import to Data Table using .Net
以下是另一个示例,它将向您展示如何使用schema.ini读取csv文件:Importing CSV file into Database with Schema.ini