Witam,
Jestem początkujący i próbuję napisać aplikację za pomocą PyQt5. Mam problem z uruchomieniem zapytania na bazie MySQL - zapytanie nie przyjmuje polskich znaków.
UżywamPython 3.6.1, MySQL 5.7.18 i PyQt 5.8.2.
Fragment mojego kodu:
db = QSqlDatabase.addDatabase("QMYSQL")
db.setHostName("127.0.0.1")
db.setUserName("root")
db.setPassword("xxxxxx")
db.setDatabaseName("test")
db.setPort(3306)
if db.isOpen() != True:
db.open()
query = QSqlQuery()
query.exec_("INSERT INTO table1 (id) VALUES ('ąśćźżęłó1');")
db.close()
print(query.lastError().text())
print(query.lastQuery())
na wyjściu otrzymuję:
"Incorrect string value: '\xB9\x9C\xE6\x9F\xBF\xEA...' for column 'id' at row 1 QMYSQL: Unable to execute query
INSERT INTO table1 (id) VALUES ('ąśćźżęłó1')"
Kodowanie MySQL jest poustawiane na utf8mb4. Kiedy używam PyMySQL a nie QSqlDatabase nie mam problemów, wszystko się zapisuje w tabeli.
Jesteście w stanie mi w tym pomóc? Z góry dzięki.