The Error “mysql.connector.errors.ProgrammingError: Character set ‘utf8’ unsupported”, is an error that is invoked when you are working on python and are trying to connect a database in python using the MySQL connector.
Given below is the snippet of the error you might get:
mysql.connector.errors.ProgrammingError: Character set 'utf8' unsupported
I would like to share with you the steps I took to fix the “mysql.connector.errors.ProgrammingError: Character set ‘utf8’ unsupported”
The error “mysql.connector.errors.ProgrammingError: Character set ‘utf8’ unsupported” is seen because the version 8.0.30 appears to have made some modifications to how utf8_ collations are handled and it’s creating to issue when trying to connect a database in python using the MySQL connector.
In case your version of MySQL is less than 5.5.3, As mentioned in its release notes, the Python connector version (8.0.30) will attempt to alias utf8 to utf8mb4 (which obviously doesn’t exist yet for versions less than 5.5.3).
You can read up more about it in the release notes here.

As mentioned on official MySQL release 8.0.30 site page, Added or renamed collations as per MySQL Server 8.0.30. This includes adding support for the new language-specific utf8mb4 collations and renaming all existing utf8_* collations to utf8mb3_*. This also makes utf8 an alias to utf8mb4. Support for MySQL 5.7 collations were preserved for connections to a MySQL 5.7 server.
To fix the error, “mysql.connector.errors.ProgrammingError: Character set ‘utf8’ unsupported” use the previous version of MySQL python connector which is version 8.0.29 in your system.
Alternatively, you can also try to encode your password and error mysql.connector.errors.ProgrammingError: Character set ‘utf8’ unsupported would fix.
To fix the error, “mysql.connector.errors.ProgrammingError: Character set ‘utf8’ unsupported”, you will have to follow the steps mentioned below:
First you will have to use the previous version of MySQL python connector which is version 8.0.29 in your system.
To do so you will have to follow the code mentioned below:
pip3 install mysql-connector-python==8.0.29
If the above step does not work you can also try to encode your password with the following mentioned example:("%T5687j5IiYe").encode("utf-8")
In case your version of MySQL is less than 5.5.3 As mentioned in its release notes, the Python connector version (8.0.30) will attempt to alias utf8 to utf8mb4 (which obviously doesn’t exist yet for versions less than 5.5.3).
So for a simple fix you could also try to update your MySQL version to any version above 5.5.3 this should fix the error if the above steps do not work.
This should help you fix the error, “mysql.connector.errors.ProgrammingError: Character set ‘utf8’ unsupported”
Conclusion
To fix the error, “mysql.connector.errors.ProgrammingError: Character set ‘utf8’ unsupported” you will have to use the previous version of MySQL python connector which is version 8.0.29 in your system.
If the above step does not work you can also try to encode your password and error mysql.connector.errors.ProgrammingError: Character set ‘utf8’ unsupported would fix.