[GELÖST] critical: ==>>> 'ascii' codec can't encode character u'\xfc' in position 85: ordinal not in range(128)

Mike1987
Beiträge: 177
Registriert: 08 Dez 2010, 08:30

[GELÖST] critical: ==>>> 'ascii' codec can't encode character u'\xfc' in position 85: ordinal not in range(128)

Beitrag von Mike1987 »

Ich habe derzeit ein neues Problem, dass mir das aktuelle weiterarbeiten unmöglich macht.
Ich kann keine Pakete mehr bauen, da ich immer die nachfolgende Fehlermeldung bekomme.

Hier im Forum habe ich ähnliche Fehlermeldungen gesehen, die angeblich mit einem reconfigure der locale beseitigt wurden?
Das hat bei mir aber nichts gebracht.
Aktuelle Versionen:

Code: Alles auswählen

ii  opsi-atftpd                          0.7.dfsg-5                           amd64        advanced TFTP server - opsi version with pcre, fifo and max-blksize patches
ii  opsi-configed                        4.0.6.3.5.1-2                        all          OPSI config editor
ii  opsi-depotserver                     4.0.6.4-1                            all          opsi depotserver configuration package
ii  opsi-linux-bootimage                 20150916-3                           amd64        opsi bootimage for netboot tasks.
ii  opsi-utils                           4.0.6.9-1                            all          utilites for working with opsi.
ii  opsiconfd                            4.0.6.10-7                           all          opsi configuration service
ii  opsipxeconfd                         4.0.5.5-2                            all          opsi pxe configuration daemon
ii  python-opsi                          4.0.6.28-1                           all          opsi python library
[


Fehlermeldung:

Code: Alles auswählen

opsiserver0:/home/opsiproducts/fix_druckerwarteschlange # opsi-makeproductfile 

Locking package

Package info
----------------------------------------------------------------------------
   version              : 1
   custom package name  : 
   incremental package  : False
   package dependencies : 

Product info
----------------------------------------------------------------------------
   product id           : fix_druckerwarteschlange
   product type         : localboot
   version              : 1.0
   name                 : fix_druckerwarteschlange
Unlocking package

critical: Traceback:
critical:      line 409 in '<module>' in file '/usr/bin/opsi-makeproductfile'
critical:      line 247 in 'main' in file '/usr/bin/opsi-makeproductfile'
critical:      ==>>> 'ascii' codec can't encode character u'\xfc' in position 85: ordinal not in range(128)
ERROR: 'ascii' codec can't encode character u'\xfc' in position 85: ordinal not in range(128)

EDIT:
Ich bin jetzt schonmal soweit, dass ich weiß, dass das Problem daran liegt das in der Description des Paketes ein "ü" steht.
Mache ich daraus ein "ue" dann kann ich das Paket erfolgreich bauen.
Also hat Python ein Problem mit dem ü ?
Zuletzt geändert von Mike1987 am 27 Okt 2015, 15:01, insgesamt 2-mal geändert.
pandel
Beiträge: 830
Registriert: 25 Jan 2013, 16:47

Re: critical: ==>>> 'ascii' codec can't encode character u'\xfc' in position 85: ordinal not in range(128)

Beitrag von pandel »

Es könnte an der Codierung deiner "control" Datei liegen. Wenn ich bspw. eine funktionierende "control" Datei bspw. in Notepad++ öffne, dann ist sie in der Regel mit Dateiendeformat "UNIX" und "UTF-8 w/o BOM" kodiert.

Kannste ja mal damit konvertieren und schauen, ob es was bringt...
Mike1987
Beiträge: 177
Registriert: 08 Dez 2010, 08:30

Re: critical: ==>>> 'ascii' codec can't encode character u'\xfc' in position 85: ordinal not in range(128)

Beitrag von Mike1987 »

Erstmal danke für deine Antwort. Ich werde das mal ausprobieren! :)
Was steht denn dann bei dir wenn du ein

Code: Alles auswählen

file -i [Datei]
machst?

Bei mir kommt dann:

Code: Alles auswählen

file -i fix_druckerwarteschlange/OPSI/control 
fix_druckerwarteschlange/OPSI/control: text/plain; charset=utf-8
pandel
Beiträge: 830
Registriert: 25 Jan 2013, 16:47

Re: critical: ==>>> 'ascii' codec can't encode character u'\xfc' in position 85: ordinal not in range(128)

Beitrag von pandel »

Mmmhh... das hat mich jetzt auch interessiert ;) und ich habe festgestellt, dass es (wohlgemerkt, bei gleichbleibender Anzeige in Notepad++!) bei mir sowohl welche gibt, die bei "file -i" entweder

Code: Alles auswählen

control: text/plain; charset=us-ascii
als auch

Code: Alles auswählen

control: text/plain; charset=utf-8
ausgeben.

Habe extra mal nachgeschaut, ob ich dann auch irgendwelche Umlaute irgendwo im Text habe. Bei der Ausgabe "us-ascii" waren keine drin, bei der Ausgabe "utf-8" schon...
Mike1987
Beiträge: 177
Registriert: 08 Dez 2010, 08:30

Re: critical: ==>>> 'ascii' codec can't encode character u'\xfc' in position 85: ordinal not in range(128)

Beitrag von Mike1987 »

Mhhh...das ist ja komisch! :(
Was steht denn bei dir in den locale ?

Code: Alles auswählen

opsiserver0:~ # locale -a
C
C.UTF-8
POSIX
de_DE.utf8
Wenn ich bei mir nämlich dann in der Datei das "ü" gegen ein "ue" austausche, kommt bei bei mir erstmal ein ein Fragezeichen in einer Raute.
Das lösche ich dann und dann ist alles gut. Aber mit ä ö und ü in den Description der Pakete wäre natürlich schon schöner :)
pandel
Beiträge: 830
Registriert: 25 Jan 2013, 16:47

Re: critical: ==>>> 'ascii' codec can't encode character u'\xfc' in position 85: ordinal not in range(128)

Beitrag von pandel »

Zur Info: Ich nutze die VM, die uib selber anbietet...

Code: Alles auswählen

server:~# locale -a
C
C.UTF-8
de_AT.utf8
de_BE.utf8
de_CH.utf8
de_DE.utf8
de_LI.utf8
de_LU.utf8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
fr_BE.utf8
fr_CA.utf8
fr_CH.utf8
fr_FR.utf8
fr_LU.utf8
POSIX
Mir fällt aber noch was ein: in meinem opsi PackageBuilder muss ich, damit das mit Python überall sauber klappt, manchmal folgende Umgebungsvariable setzen:

Code: Alles auswählen

PYTHONIOENCODING='utf-8'
Vielleicht ist die ja auf deiner Distri nötig! Setz die doch einfach mal und führe dann den opsi-makeproductfile aus.
Mike1987
Beiträge: 177
Registriert: 08 Dez 2010, 08:30

Re: critical: ==>>> 'ascii' codec can't encode character u'\xfc' in position 85: ordinal not in range(128)

Beitrag von Mike1987 »

Dein Denkanstoß hat die Lösung (erstmal) gebracht!!!! :D :D :D
Vielen dank dafür!

Ich habe jetzt ein

Code: Alles auswählen

export PYTHONIOENCODING=UTF-8
gemacht und jetzt taucht das Problem nicht mehr auf. Das einzige was ich nicht herrausgefunden habe ist, ob es nur für die aktuelle Session gilt und somit nach einem Neustart weg ist, oder jetzt endgültig und "für immer" gilt?!
damien.leviet
Beiträge: 110
Registriert: 24 Feb 2014, 11:30

Re: critical: ==>>> 'ascii' codec can't encode character u'\xfc' in position 85: ordinal not in range(128)

Beitrag von damien.leviet »

Mike1987 hat geschrieben:Das einzige was ich nicht herrausgefunden habe ist, ob es nur für die aktuelle Session gilt und somit nach einem Neustart weg ist, oder jetzt endgültig und "für immer" gilt?!
Das musst du in den Umgebungsvariablen setzen:

Code: Alles auswählen

echo PYTHONIOENCODING=UTF-8 >> /etc/environment
MfG Damien
Mike1987
Beiträge: 177
Registriert: 08 Dez 2010, 08:30

Re: critical: ==>>> 'ascii' codec can't encode character u'\xfc' in position 85: ordinal not in range(128)

Beitrag von Mike1987 »

Funktioniert perfekt!! Vielen Dank euch beiden! :mrgreen: :mrgreen:
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: [GELÖST] critical: ==>>> 'ascii' codec can't encode character u'\xfc' in position 85: ordinal not in range(128)

Beitrag von n.wenselowski »

Hi,

gibt es ne Möglichkeit, dass ich die Datei bekomme?
Würde gerne mal schauen, ob ich da eventuell das Handling verbessern kann.


Gruß

Niko

Code: Alles auswählen

import OPSI
Antworten