2014-07-23 2 views
2

r 프로그래밍을 사용하여 MySQL에 특수 문자를 삽입하는 방법은 무엇입니까?R- 특수 문자가 MySQL에 삽입되어 있지 않습니다

나는 tsv 파일에서 데이터를 읽을 데이터 프레임을 가지고 있습니다. 이 값을 mysql 데이터베이스 데이터 프레임에 삽입하려면 2000 개의 행이 들어 있습니다. 그러나 그것은 단지 23 개의 행을 삽입하고 있습니다. RODBC 라이브러리를 사용하고 있습니다.

문제는 데이터 내부의 특수 문자입니다.

샘플 데이터하십시오 무시 카

  • 소니 "의
  • 오류 Ouça

    1. :

      Error in sqlSave(conn, data4, "test.solution8", append = TRUE, verbose = TRUE, : 
           [RODBC] Failed exec in Update 
          HY000 1366 [MySQL][ODBC 5.2(w) Driver][mysqld-5.6.11]Incorrect string value: '\xE7a a m...' for column 'fullcontent' at row 1 
      
    +2

    인코딩을 utf-8로 설정할 수 있습니까? –

    +0

    다음이 도움이됩니다. http://dev.mysql.com/doc/refman/5.0/en/charset-applications.html 및 http://www.joelonsoftware.com/articles/Unicode.html – nico

    +0

    @ Roman Lustrik - Can 인코딩을 설정하는 방법을 알려주시겠습니까? – Vijayan

    답변

    1

    데이터베이스, 프로그램과 연결 각 인코딩을해야합니다.

    확실히 연결이 데이터베이스

    ch<-odbcConnect("mydb",DBMSencoding="UTF-8"); 
    

    이것은 또한 this question here에서 논의 된 것과 동일한 인코딩을 사용합니다.

    +0

    나는 이것을 시도했다. 그러나 일본 charcters는 ??? – Vijayan

    +0

    내가 시도한 코드는 d <- data.frame ("と と 宇宙 戦 艦 ヤ"); sqlSave (conn, d, "sma.test", append = TRUE, verbose = TRUE, rownames = F, colnames = FALSE); – Vijayan

    +0

    R의 문자열은 "latin1"또는 "UTF-8"또는 "바이트"로 인코딩되도록 선언 할 수 있습니다. SQL 문을 호출하기 전에 문자열이 맞지 않을 수도 있습니다. http://stat.ethz.ch/R-manual/R-devel/library/base/html/Encoding.html – dube

    관련 문제