Hallo, ich bin neu hier.
Ich habe ein Schulprojekt. Ein Kollege hat ein unfertiges Programm geschrieben und macht Probleme. Ein Python-Programm startet einen Websocket, damit ich einen Dobot mit einem Web-HMI steuern kann. Es ist auch möglich, Eingabefelder auszufüllen, die in einer SQL-Datenbank gespeichert wird. Nach dem Start des Programms erhalte ich folgende Meldungen wenn ich die datan nach mysql senden will:
connection handler failed
Traceback (most recent call last):
File "/home/pi/.local/lib/python3.9/site-packages/websockets/legacy/server.py", line 232, in handler
await self.ws_handler(self)
File "/home/pi/FTP/files/demo-magician-python-64-master/socket_server.py", line 26, in server
database.save_position(data["position"])
File "/home/pi/FTP/files/demo-magician-python-64-master/database.py", line 9, in save_position
db = mysql.connector.connect(
File "/usr/local/lib/python3.9/dist-packages/mysql/connector/pooling.py", line 287, in connect
return MySQLConnection(*args, **kwargs)
File "/usr/local/lib/python3.9/dist-packages/mysql/connector/connection.py", line 137, in __init__
self.connect(**kwargs)
File "/usr/local/lib/python3.9/dist-packages/mysql/connector/abstracts.py", line 1095, in connect
self._open_connection()
File "/usr/local/lib/python3.9/dist-packages/mysql/connector/connection.py", line 544, in _open_connection
self.set_converter_class(self._converter_class)
File "/usr/local/lib/python3.9/dist-packages/mysql/connector/abstracts.py", line 1271, in set_converter_class
self.converter = convclass(charset_name, self._use_unicode)
File "/usr/local/lib/python3.9/dist-packages/mysql/connector/conversion.py", line 136, in __init__
MySQLConverterBase.__init__(self, charset, use_unicode, str_fallback)
File "/usr/local/lib/python3.9/dist-packages/mysql/connector/conversion.py", line 59, in __init__
self.set_charset(charset)
File "/usr/local/lib/python3.9/dist-packages/mysql/connector/conversion.py", line 73, in set_charset
self.charset_id = CharacterSet.get_charset_info(self.charset)[0]
File "/usr/local/lib/python3.9/dist-packages/mysql/connector/constants.py", line 775, in get_charset_info
info = cls.get_default_collation(charset)
File "/usr/local/lib/python3.9/dist-packages/mysql/connector/constants.py", line 746, in get_default_collation
raise ProgrammingError(f"Character set '{charset}' unsupported")
mysql.connector.errors.ProgrammingError: Character set 'utf8' unsupported
Was passiert hier? Die connection mit den websocket geht gut.
Aber etwas mit der MySql (mariaDB) geht nicht gut. Ich habe versucht my.conf zu verändern aber ohne Glück.
Kann jemand mir helfen?
python mit websocket und mysql
-
- User
- Beiträge: 2
- Registriert: Samstag 30. Juli 2022, 10:53
Wenn ich die code von database.py verkleine auch dann habe ich eine falschmeldung:
import mysql.connector
try:
db = mysql.connector.connect(host = "localhost", database = "dobot", user = "dobot", password = "HV8AoxbZ2H44uNgX")
if db.is_connected():
print("Connected to MySQL database.")
#return db
except mysql.connector.Error as e:
print ("Error while connecting to MySQL", e)
Database dobot mit phpmyadmin gemacht mit password : HV8AoxbZ2H44uNgX
pi@raspberrypi:~/FTP/files/demo-magician-python-64-master $ python database.py
Error while connecting to MySQL Character set 'utf8' unsupported
import mysql.connector
try:
db = mysql.connector.connect(host = "localhost", database = "dobot", user = "dobot", password = "HV8AoxbZ2H44uNgX")
if db.is_connected():
print("Connected to MySQL database.")
#return db
except mysql.connector.Error as e:
print ("Error while connecting to MySQL", e)
Database dobot mit phpmyadmin gemacht mit password : HV8AoxbZ2H44uNgX
pi@raspberrypi:~/FTP/files/demo-magician-python-64-master $ python database.py
Error while connecting to MySQL Character set 'utf8' unsupported
- __blackjack__
- User
- Beiträge: 13940
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Hier scheint jemand das gleiche Problem zu haben: https://www.reddit.com/r/mariadb/commen ... character/
I have noticed, that my script does not work with mysql-connector-python==8.0.30 but does work with 8.0.28.
As a fast temporary fix I have downgraded mysql-connector-python version.
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware
— Scott Bellware