programing

'charmap' 코덱은 위치 0에서 문자 '\u010c'를 인코딩할 수 없습니다. 문자 맵은 MariaDB 및 SQLChemy에 있습니다.

showcode 2023. 6. 19. 21:47
반응형

'charmap' 코덱은 위치 0에서 문자 '\u010c'를 인코딩할 수 없습니다. 문자 맵은 MariaDBSQLChemy에 있습니다.

SQLAlchemy를 사용하여 MariaDB 데이터베이스에 데이터를 삽입하려고 합니다.삽입해야 할 데이터를 얻기 위해 XML 파일을 구문 분석하고 있습니다.저는 데이터를 읽는 데 문제가 없습니다.python 3.2 UnicodeError: 'charmap' 코덱은 9629 위치에서 문자 '\u2013'을 인코딩할 없습니다. 문자 맵에서 <undefined>는 파일에서 데이터를 읽는 것을 말합니다.그러나 이 단계에서 오류가 발생하고 있습니다.

con_string = db_driver + '://' + db_user + ':' + db_password + '@' + db_host + ':' + db_port + '/' + db_name
engine = sqlalchemy.create_engine(con_string, pool_pre_ping=True)

meta_data = sqlalchemy.MetaData(engine)
table = sqlalchemy.Table('table', meta_data, autoload=True, autoload_with=engine)
table.insert().execute(data)

data사전입니다.테이블의 열에 매핑된 XML 파일을 구문 분석하여 얻은 값을 포함합니다.

그 이유는 무엇일까요?

모든 범위의 유니코드 문자를 지원하려면 추가해야 합니다.?charset=utf8mb4다음에서 설명한 대로 연결 URL의 끝까지

https://docs.sqlalchemy.org/en/14/dialects/mysql.html#charset-selection

예.,

e = create_engine(
    "mysql+pymysql://scott:tiger@localhost/test?charset=utf8mb4")

언급URL : https://stackoverflow.com/questions/69946299/charmap-codec-cant-encode-character-u010c-in-position-0-character-maps-to

반응형