Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
4 ตอบกลับ
13803 มุมมอง

Hi, am using a res_partner inherit module and i have a field.char. But the probleme i have is, where i fill this field to create the object i get this error "UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 6: ordinal not in range(128)"

Help me please

อวตาร
ละทิ้ง
คำตอบที่ดีที่สุด

Make sure your module does not do str(xyz) where xyz is accented string! tools.ustr() should help.

อวตาร
ละทิ้ง
ผู้เขียน

I'am sure my module does not do str(xyz),

Please paste the whole traceback.

ผู้เขียน

Here it is Client Traceback (most recent call last): File "/opt/openerp/server/openerp/addons/web/http.py", line 195, in dispatch response["result"] = method(self, *self.params) File "/opt/openerp/server/openerp/addons/web/controllers/main.py", line 1079, in call_kw return self._call_kw(req, model, method, args, kwargs) File "/opt/openerp/server/openerp/addons/web/controllers/main.py", line 1071, in _call_kw return getattr(req.session.model(model), method)(args, **kwargs) File "/opt/openerp/server/openerp/addons/web/session.py", line 43, in proxy result = self.proxy.

Are you using V6 or v7? I suspect real error is at server side and client just being unable to convert the error, throws this. Would you please mind to check the server log?

ผู้เขียน คำตอบที่ดีที่สุด

I can not do string_variable.decode('cp1252') because values are in the form create i do not treat them before they are stored

อวตาร
ละทิ้ง
คำตอบที่ดีที่สุด

You need to change the encoding of the data you are updating your model with. Do this in your module:

string_variable.decode('cp1252')

it might work (as long your input data was encoded with cp1252)

อวตาร
ละทิ้ง
คำตอบที่ดีที่สุด

In Python, unicode and str are two different data types. When Python tries to implicitly convert between one and the other, it uses encode (unicode -> str) and decode (str -> unicode). In OpenERP, text is actually Unicode. Encode and decode errors like your one can be avoided with some understanding of how Unicode works in Python. Ned Batchelder made an excellent presentation on the subject, google "unicode pain python".

อวตาร
ละทิ้ง
Related Posts ตอบกลับ มุมมอง กิจกรรม
1
มี.ค. 15
6669
2
ธ.ค. 23
18487
3
มิ.ย. 24
3482
2
ก.ค. 21
7011
0
ก.ย. 18
3062