Siirry sisältöön
Odoo Menu
  • Kirjaudu sisään
  • Kokeile ilmaiseksi
  • Sovellukset
    Talous
    • Kirjanpito
    • Laskutus
    • Kulut
    • Datataulukot (BI)
    • Asiakirjat
    • Allekirjoita
    Myynti
    • CRM
    • Myynti
    • Kassajärjestelmä myymälään
    • Kassajärjestelmä ravintolaan
    • Tilaukset
    • Vuokraus
    Verkkosivut
    • Verkkosivun Rakennustyökalu
    • Verkkokauppa
    • Blogi
    • Foorumi
    • Livechat
    • Verkko-oppiminen
    Toimitusketju
    • Varastointi
    • Tuotanto
    • Tuotteen elinkaaren hallinta (PLM)
    • Ostot
    • Huolto
    • Laatu
    Henkilöstöhallinto
    • Työntekijät
    • Rekrytointi
    • Vapaat
    • Arvioinnit
    • Suositukset
    • Kuljetuskalusto
    Markkinointi
    • Somemarkkinointi
    • Sähköpostimarkkinointi
    • Tekstiviestimarkkinointi
    • Tapahtumat
    • Markkinoinnin automaatio
    • Kyselyt
    Palvelut
    • Projekti
    • Työaikakirjaukset
    • Kenttähuolto
    • Asiakaspalvelu
    • Suunnittelu
    • Ajanvaraukset
    Tuottavuus
    • Viestintä
    • Hyväksynnät
    • IoT
    • IP-puhe
    • Tietokirjasto
    • WhatsApp
    Kolmannen osapuolen sovellukset Odoo-Studio Odoo-Pilvialusta
  • Toimialat
    Vähittäiskauppa
    • Kirjakauppa
    • Vaatekauppa
    • Huonekaluliike
    • Ruokakauppa
    • Laitteistokauppa
    • Lelukauppa
    Ruoka & Majoitus
    • Baari ja Pubi
    • Ravintola
    • Pikaruoka
    • Majatalo
    • Juomien jakelija
    • Hotelli
    Kiinteistöt
    • Kiinteistönvälitystoimisto
    • Arkkitehtitoimisto
    • Rakentaminen
    • Kiinteistönhallinta
    • Puutarhanhoito
    • Kiinteistön omistajien yhdistys
    Konsultointi
    • Tilitoimisto
    • Odoo-kumppani
    • Markkinointitoimisto
    • Lakitoimisto
    • Osaajahankinta
    • Tilintarkastus & sertifiointi
    Tuotanto
    • Tekstiili
    • Metalli
    • Huonekalut
    • Ruoka
    • Panimo
    • Yrityslahjat
    Terveys & Liikunta
    • Urheiluseura
    • Silmälasiliike
    • Kuntokeskus
    • Hyvinvointialan ammattilaiset
    • Apteekki
    • Kampaamo
    Kaupat
    • Yleismies
    • IT-laitteisto & Tuki
    • Aurinkoenergiajärjestelmät
    • Suutari
    • Siivouspalvelut
    • LVI-palvelut
    Muut
    • Voittoa tavoittelematon järjestö
    • Ympäristötoimisto
    • Mainostaulujen vuokraus  
    • Valokuvaus
    • Leasing-pyörät
    • Ohjelmistojen jälleenmyyjä
    Selaa kaikkia toimialoja
  • Yhteisö
    Opi
    • Kurssit
    • Dokumentaatio
    • Todistukset
    • Koulutus
    • Blogi
    • Podcast
    Kannusta kouluttautumaan
    • Koulutusohjelmat
    • Scale Up! Liiketoimintapeli
    • Vieraile Odoolla
    Hanki ohjelmisto
    • Lataa
    • Vertaile versioita
    • Julkaisut
    Tee yhteistyötä
    • Github
    • Foorumi
    • Tapahtumat
    • Käännökset
    • Ryhdy kumppaniksi
    • Kumppanipalvelut
    • Rekisteröi tilitoimistosi
    Hanki palveluja
    • Löydä kumppani
    • Löydä kirjanpitäjä
    • Varaa asiantuntijatapaaminen
    • Implementaatiopalvelut
    • Asiakasreferenssit
    • Tuki
    • Versionkorotukset
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Varaa demo
  • Hinnoittelu
  • Asiakaspalvelu

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Kirjanpito
  • Varastointi
  • PoS
  • Projekti
  • MRP
All apps
Sinun on rekisteröidyttävä, jotta voit olla vuorovaikutuksessa yhteisön kanssa.
Kaikki kirjoitukset Ihmiset Merkit
Tunnisteet (Näytä kaikki)
odoo accounting v14 pos v15
Tietoa tästä foorumista
Sinun on rekisteröidyttävä, jotta voit olla vuorovaikutuksessa yhteisön kanssa.
Kaikki kirjoitukset Ihmiset Merkit
Tunnisteet (Näytä kaikki)
odoo accounting v14 pos v15
Tietoa tästä foorumista
Apua

[Odoo 10] text file from Odoo have encoding issue on Windows?

Tilaa

Saat ilmoituksen, kun tähän viestiin ilmaantuu aktiviteettia

Tämä kysymys on merkitty
windowspython2.7textencodingodoo10
1 Vastaa
5482 Näkymät
Avatar
FEDERICO LEONI

I Know is not exactly related to Odoo but Python in general, but I'm getting serious issues creating a simple text file on Windows.

Back story: I have a customer who asked for a custom module to integrate Odoo with his fiscal software here in Brazil. The task was pretty easy, grab infos from POS Order of products and services (product.template inherited with some field to match the fiscal information) and create a .txt on a shared folder to pull automatically the bill inside the other proprietary software.
All working fine on Linux, but fact is the client want all installed under Windows. 
My custom module works fine but I have issues with the encoding, since it can't decode chars like ã or é or ç.  

pgto = '\n'.join(str(e) for e in pgto).replace('.', ',').upper()

f = open(str("/media/pedidos/" + self.pos_reference + ".txt"), "w+")
f.write(pgto.encode('cp1252'))

will create the following txt under Linux:

PEDIDO|CONSUMIDOR NÃO IDENTIFICADO||CAIXA||
ITEM|83002|GUARANÁ 350ML|4,5|1|UN|22021000|17,3|20,0|0,0|IBPT|5405|500|0|0300800|
PGTO|01|4,5|

but the same txt created under Windows results in:

PEDIDO|CONSUMIDOR NÃcO IDENTIFICADO||CAIXA||
ITEM|83002|GUARANá 350ML|4,5|1|UN|22021000|17,3|20,0|0,0|IBPT|5405|500|0|0300800|
PGTO|01|4,5|

Since I've worked with Linux to Windows conversion in the past was quite easy find the correct encoding for Windows (cp1252), doesn't seems as simple as write from Windows to Windows...

I tried with various decode (UTF-8, Latin-1 and so on), but until now with no appreciable results.

Please note I'm dealing with strings inside a var, is not easy add a u' on any field pulled from the DB before creating the text file.
Any clue?

0
Avatar
Hylkää
Avatar
FEDERICO LEONI
Tekijä Paras vastaus

Solved!

There are two solution for this kind of encoding issues under Windows but both may lead to some risks.

1. change the header of the model.py:

From

# -*- coding: utf-8 -*-

To

# -*- coding: cp1252 -*-

This coding will definitely solve the issue when writing on txt, but if you are updating  the DB on the same function at the same time, it could lead to some encoding issue inside the database.

2. Change sys property "on-the-fly":

Is the best solution for me. you can literally hack the sys default enconding and back to UTF-8 without messing too much. Just put in your code this:

import sys
reload (sys)
sys.setdefaultencoding('cp1252')

Problem solved, didn't find (for now) any issue using this method.
Anyway, my first module for Windows was finally deployed.

0
Avatar
Hylkää
Nautitko keskustelusta? Älä vain lue, vaan osallistu!

Luo tili jo tänään nauttiaksesi yksinoikeusominaisuuksista ja osallistuaksesi mahtavaan yhteisöömme!

Rekisteröidy
Aiheeseen liittyviä artikkeleita Vastaukset Näkymät Toimenpide
How to return action window or wizard from def copy()or def write method in odoo 10.
python2.7 odoo10
Avatar
Avatar
2
heinäk. 25
1758
Show edit button on odoo 10 qweb html report.
python2.7 odoo10
Avatar
0
jouluk. 24
1947
How to hide field on tree in odoo 10 based on a condition. Ratkaistu
python2.7 odoo10
Avatar
Avatar
2
lokak. 24
2157
Remove html tags in a text field with html widget on an exported xml file in odoo 10.
python2.7 odoo10
Avatar
Avatar
1
elok. 24
3281
Cannot upload pdf file on odoo 10 attachments.
python2.7 odoo10
Avatar
Avatar
2
heinäk. 24
2558
Yhteisö
  • Kurssit
  • Dokumentaatio
  • Foorumi
Avoin lähdekoodi
  • Lataa
  • Github
  • Runbot
  • Käännökset
Palvelut
  • Odoo.sh hosting
  • Tuki
  • Versionkorotus
  • Räätälöidyt kehitykset
  • Koulutus
  • Löydä kirjanpitäjä
  • Löydä kumppani
  • Ryhdy kumppaniksi
Meistä
  • Yrityksemme
  • Brändiominaisuudet
  • Ota yhteyttä
  • Työpaikat
  • Tapahtumat
  • Podcast
  • Blogi
  • Asiakkaat
  • Oikeudellinen ilmoitus • Yksityisyys
  • Tietoturva
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo on kokoelma avoimen lähdekoodin yrityssovelluksia, jotka kattavat kaikki yrityksesi tarpeet: asiakkuudenhallinta eli CRM, verkkokauppa, kirjanpito, varastointi, kassajärjestelmä, projektinhallinta, jne.

Odoon uniikki arvolupaus on olla samanaikaisesti erittäin helppokäyttöinen ja täysin integroitu.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now