初めまして、こんにちは

sqlaichemyとpandas.read_sql_queryにてmysqlのlike機能で
日本語のキーワードを選択したいですが、どうやって動けますか?

英語のキーワードを下記のように選択すると、動けるんですが

statement = "SELECT * FROM orderitem WHERE item_description like '%example%'"
df = pd.read_sql_query(text(statement), engine)

日本語のキーワードを使うと、エラーが出てます。

statement = "SELECT * FROM orderitem WHERE item_description like '%日本語%'"
df = pd.read_sql_query(text(statement), engine)

エラー:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 55: ordinal not in range(128)

ps- このquery "SELECT * FROM orderitem WHERE item_description like '%日本語%'" はterminalで動けるんですが、python で作業するとエラーが出てしまいます。

私のコード:

import pymysql
import os
import pandas as pd
from sqlalchemy import create_engine, text

db = pymysql.connect(db=db, user='root', passwd=passwd, charset='utf8', unix_socket="/var/run/mysqld/mysqld.sock", local_infile=True)
cursor = db.cursor()
cursor.execute("SET NAMES utf8")
engine = create_engine('mysql+pymysql://root:passwd@localhost:4406/db?charset=utf8')

statement = "SELECT * FROM orderitem WHERE item_description like '%日本語%'"
df = pd.read_sql_query(text(statement), engine)

色々調べたんですenginer とconnetionの方でencoding = utf-8を追加してもうまく解決できません..

よければ教えていただけると嬉しいです。
ありがとうございます。