راکت
حل شده

پشتیبانی از زبان فارسی در پایتون

2 پاسخ

سلام کسی میتونه کمک کنه در ماژول dbf پایتون مشکل ساپورت نکردن زبان فارسی رو چجوری حل کنم؟
الان این اررور رو میده
ascii' codec can't encode characters in position 0-3: ordinal not in range(128)

ثبت پرسش جدید

پاسخ‌ها

2
سروش مرشدی
سروش مرشدی
@sorooshMorshedi

تخصص: fullstack developer

بهترین پاسخ

ممنونم مشکلم حل شد باید encoder ماژول dbf رو تغییر میدادم :
dbf.table(table_name, table_fields, codepage='utf-8')

مهدی مشایخی
مهدی مشایخی
@MahdiMashayekhi

تخصص: برنامه نویس پایتون - ماشین لرنینگ - جنگو

سلام
شما باید ابتدا ستون‌های فارسی رو به صورت یونی‌کد در بیارید و بعد اونها رو به کدینگ مورد نظر تبدیل کنید. برای این کار می‌تونید از کتابخانه ftfy استفاده کنید

مثال

import dbf
import ftfy

def fix_encoding(row):
    for col in row.keys():
        value = row[col]

        if isinstance(value, str) and any(ord(c) > 128 for c in value):
 ftfy
            value = ftfy.fix_text(value)
            row[col] = value

table = dbf.Table('file.dbf')

for row in table:
    fix_encoding(row)

table.flush()

سوالی داشتید در خدمتم

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام