복붙노트

[SQL] Microsoft.Jet.OLEDB.4.0는 문자 변환

SQL

Microsoft.Jet.OLEDB.4.0는 문자 변환

내가 좋아하는 문자가 포함 된 CSV 함께 일하고 있어요 :

” and •

난은 OleDb를 통해 CSV를 읽고있다 및 공급자가 Microsoft.Jet.OLEDB.4.0입니다. 데이터가에서 OleDbCommand에로드 될 때, 문자는 각각 다음으로 변환됩니다 :

“ and •

나는 연결 문자열의 정렬 설정이있을 수 있습니다 의심하지만 난 이것에 대해 아무것도 찾을 수 없습니다.

나는 다음을 확인할 수 있습니다 :

이견있는 사람?

해결법

  1. ==============================

    1.드디어! @HABJAN I 덕분 연결 문자열의 확장 속성에 CharaterSet을 설정하는 등 간단하다 해상도에 도착 할 수 있었다. 내 상황에 내 데이터에서 검색 된 곳이다 UTF-8 ... 일반적으로 phpMyAdmin을에서 기본적으로 사용했다.

    드디어! @HABJAN I 덕분 연결 문자열의 확장 속성에 CharaterSet을 설정하는 등 간단하다 해상도에 도착 할 수 있었다. 내 상황에 내 데이터에서 검색 된 곳이다 UTF-8 ... 일반적으로 phpMyAdmin을에서 기본적으로 사용했다.

    작업 연결 문자열을 결과 :

    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"{0}\";Extended Properties=\"text;HDR=Yes;FMT=Delimited;CharacterSet=65001;\""
    

    키 CharacterSet = 일부 조합에 정통한 개인에게 명백한되었을 수 있습니다 65001 (UTF-8 코드 페이지 식별자)하지만 난 어떻게 든 년 동안 이러한 문제를 방지하고이 점에 건너 결코 관리했습니다.

    또한 다음과 같은 경우에 나는 또한 작업에 HABJAN의 솔루션을 얻을 수있었습니다 문서 발견 @ http://msdn.microsoft.com/en-us/library/ms709353%28v=vs.85%29.aspx과에 CharacterSet 설정 같은 상기와.

    내 상황의 경우,이 날 거기 돕는 HABJAN에 더 나은이 간단 / 더 유지 보수 솔루션으로 방법,하지만 하나입니다!

    감사

  2. ==============================

    2.당신은있는 schema.ini 파일을 생성하고 형식과 CharacterSet 속성으로 재생할 수 있습니다.

    당신은있는 schema.ini 파일을 생성하고 형식과 CharacterSet 속성으로 재생할 수 있습니다.

    이 샘플에서보세요 : 유니 코드에서 데이터를 읽는 방법을 사용하여 데이터 테이블에 텍스트 파일 가져 오기 형식의 닷넷

    Schema.ini 파일과 데이터베이스로 가져 오기 CSV 파일 : 그리고 여기 어떻게있는 schema.ini와 csv 파일을 읽어 표시됩니다 다른 샘플입니다

  3. from https://stackoverflow.com/questions/5794072/microsoft-jet-oledb-4-0-converting-characters by cc-by-sa and MIT license