Проблема с кодировкой пароля в новой среде Python

#python #utf-8 #codec

#python #utf-8 #кодек

Вопрос:

Недавно я заменил компьютер и переустановил Anaconda Python 3.7.

У меня также есть установка MySQL и новых паролей.

Я использую Pycharm IDE

Я пытаюсь получить доступ к MySQL следующим образом:

 engine = sqlalchemy.create_engine('mysql pymysql://root:%MyPassword@localhost:3306/MySchema')
 

где %MyPassword — это пароль MySQL и

где MySchema — это схема MySQL

Однако при запуске скрипта я получаю:

 UnicodeEncodeError: 'latin-1' codec can't encode character 'ufffd' in position 0: ordinal not in range(256)
 

Предполагается, что Python 3 по умолчанию использует UTF — так почему я получаю ошибку кодека latin-1?

Комментарии:

1. Какую версию mysql вы используете? в 5.7 по умолчанию используется значение latin-1, поэтому вам может потребоваться установить кодировку для вашего соединения.

Ответ №1:

Я не знаю, является ли использование символа ‘%’ в начале (или внутри) пароля незаконным или это какая-то ошибка. Я использовал другую учетную запись в базе данных со специальными символами внутри пароля, а не «%», и это обеспечило доступ.