UnicodeDecodeError: кодек «utf-8» не может декодировать байт 0xe9 в позиции 6: недопустимый байт продолжения - PullRequest
0 голосов
/ 14 декабря 2018

Я попробовал несколько решений в режиме онлайн, но все еще получил ту же ошибку в моем браузере http://127.0.0.1:7000/json/json_data_dump. Может кто-нибудь помочь, пожалуйста?Кстати, если я сделаю ниже и вставлю не-французский символ в Teradata, мой код будет работать.

CREATE TABLE tablename(
    Category    varchar(80) not null,         -- CHARACTER SET UNICODE,

Ниже приведен код Python:

def json_data_dump(request):
    sql = """ select category as dept from db.tablename order by 1;"""
    df = pd.read_sql(sql, teradata_con())

    df_dept = df[['dept']].drop_duplicates()    

    dic = {'dept':[]}
    for index, row in df_dept.iterrows():        
        dic['dept'].append({                   
                'dept':row['dept'].decode('latin-1').encode("utf-8")   #.encode("utf-8")    #.decode('latin-1')       #decode("utf-8")                                 
            })                

    return HttpResponse(json.dumps(dic,encoding = "ISO-8859-1"))  
    # return HttpResponse(json.dumps(dic,ensure_ascii=False) )     
...