سروش مرشدی
1 سال پیش توسط سروش مرشدی مطرح شد
2 پاسخ

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

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


ثبت پرسش جدید
سروش مرشدی
تخصص : fullstack developer
@sorooshMorshedi 1 سال پیش مطرح شد
1

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


مهدی مشایخی
تخصص : برنامه نویس پایتون - ماشین لرن...
@MahdiMashayekhi 1 سال پیش مطرح شد
0

سلام
شما باید ابتدا ستون‌های فارسی رو به صورت یونی‌کد در بیارید و بعد اونها رو به کدینگ مورد نظر تبدیل کنید. برای این کار می‌تونید از کتابخانه 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()

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


سروش مرشدی
تخصص : fullstack developer
@sorooshMorshedi 1 سال پیش مطرح شد
1

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


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

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