@apiwi

Как ввести русские слова в pymysql?

Не получается ввести информацию о пользователе на русском, выдаёт ошибку.
Но если в поле user_name, ввести имя на английском всё работает.
import pymysql
from pymysql.cursors import DictCursor

print("Подключение к БД...")
connection = pymysql.connect(host='sql7.freesqldatabase.com',
						  	 user='',
						  	 password='',
						  	 db='',
						  	 charset = "utf8", 
						  	 use_unicode = True,
						  	 cursorclass=DictCursor)

print("Подключился.")
print("Создаю БД, если она не создана...")
try:
   with connection.cursor() as cursor:
      cursor.execute("""CREATE TABLE IF NOT EXISTS Users (
      user_id INT PRIMARY KEY,
      user_name TEXT,
      user_years TEXT);
      """)
      connection.commit()
except Exception as error:
   print("БД уже создана!")

print("Добавляю юсера")
try:
   user_id = 66661313
   user_name = "Кот"
   user_years = 42
   with connection.cursor() as cursor:
      cursor.execute("INSERT IGNORE INTO Users(user_id, user_years, user_name)VALUES(%d, %d, '%s');" % (user_id, user_years, user_name))
   connection.commit()
except Exception as error:
   print("Пользователь уже есть в БД.", error)


Ошибка:
1366, "Incorrect string value: '\\xD1\\x82\\xD0\\xB5\\xD0\\xBC...' for column 'user_name' at row 1")
  • Вопрос задан
  • 103 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы