python SQLAlchemy & pandas read_sql_query 日本語の処理について


初めまして、こんにちは

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

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

[code]

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

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

[code]

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

エラー：

[code]

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

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

私のコード：

[code]

    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)
    
[/code]

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

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




結局tell kのコメントに参考し

[code]

    #ダブルクォーテションの前に「u」をつける
    statement = u"SELECT * FROM orderitem WHERE item_description like '%日本語%'"
    
[/code]

で解決しました！

私のpython は2.7で、コードは以下になります。

[code]

    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)
    
[/code]

