Odoo Python 2.7编码utf8

问题描述 投票:0回答:1

我正在尝试从多个字段中创建一个unicode字符串。我会:

my_unicode_text = u' '.join((u'ID ',str(order_line.product_id.id),u' | [',order_line.product_id.code,u'] ',str(order_line.product_id.name),u' | ',str(order_line.product_uom_qty),u'<br/>')).encode('utf-8').strip())

但是我得到:

UnicodeEncodeError: 'ascii' codec can't encode character u'\xd3' in position 18: ordinal not in range(128)

我想我没有正确使用join / str。

python-2.7 odoo odoo-10
1个回答
0
投票

也许用格式替换连接:

class Product_id:
    def __init__(self, id, code, name):
        self.id, self.code, self.name = id, code, name

class Order_line:
    def __init__(self, product_id, product_uom_qty):
        self.product_id, self.product_uom_qty = product_id, product_uom_qty


order_line = Order_line(Product_id(42, 6789, u'\N{greek small letter beta}eer'), 6)

s = unicode.format(u'ID {order_line.product_id.id} | [{product_id.code}] {product_id.name} | {order_line.product_uom_qty}<br/>', order_line=order_line, product_id=order_line.product_id)

print s
© www.soinside.com 2019 - 2024. All rights reserved.