Не получается ввести информацию о пользователе на русском, выдаёт ошибку.
Но если в поле 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")