2017-12-27 18 views
1

(가) 리눅스에MySQLdb는

Import MySQLdb 
MySQLdb.connect(user="root", passwd="1234", charset="utf8mb4") 

일을 명령 utf8mb4 작동하지 않습니다. 하지만 Windows에서는 다음과 같은 예외가 throw됩니다. Operational Error (2019, can't initialize character set utf8mb4 (path: c:\\mysql\\\\share\\charsets\\) ")

내 컴퓨터 또는 코드에이 경로가 존재하지 않습니다.

MySQL 데이터베이스 버전 1.2.5와 MySQL 5.7.18을 사용하고 있습니다.

charset = utf8을 사용하면이 \ U00023456 (4 바이트 유니 코드 코드 포인트)과 같은 것을 쿼리해야하기 때문에 충분하지 않습니다.

답변

0

귀하의 MySQL 버전은 utf8mb4를 지원하지 않습니다.

+0

MySQLdb가 클라이언트 측 라이브러리이므로 문제는 클라이언트 측에서 발생하며 서버 측에서는 발생하지 않습니다. 또한 1.2.5는 MySQL-python의 최신 버전입니다. – jackLantern

0

c:\\mysql\\\\share\\charsets\\에 너무 많은 백 슬래시가 있습니다. (공유하기 전)

적어도 MySQL 5.5.3을 사용하고 있습니까?

use_unicode=True도 필요합니다.

OPTIONS의 내용은 무엇입니까?

"4 바이트 UTF-8"을 의미합니다.

+0

경로에 너무 많은 백 슬래시가 있음을 알고 있습니다. 예외에만 나타나고 내 코드에는 나타나지 않습니다. 그 폴더는 존재하지도 않습니다. mysql 5.7.18을 사용하고있다. 또한 use_unicode = True를 추가해도 문제가 해결되지 않았습니다. 어떤 옵션에 대해 이야기하고 있습니까? 고맙습니다. – jackLantern

+0

'use_unicode '가있는 곳과 같은 장소 또는 그 근처에있는'OPTIONS' 일 수도 있습니다. –