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