Bug 27255 - Encoding-Probleme da LANG nicht gesetzt ist
Encoding-Probleme da LANG nicht gesetzt ist
Status: CLOSED FIXED
Product: UCS@school
Classification: Unclassified
Component: UMC
UCS@school 3.0
Other Linux
: P5 normal (vote)
: UCS@school 3.0 MS2
Assigned To: Alexander Kläser
Andreas Büsching
:
Depends on:
Blocks: 27256
  Show dependency treegraph
 
Reported: 2012-05-23 14:05 CEST by Alexander Kläser
Modified: 2012-06-11 06:29 CEST (History)
2 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional): Internationalization
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Kläser univentionstaff 2012-05-23 14:05:48 CEST
Über das Materialverteilungsprojekt sind Encoding-Probleme aufgefallen (siehe Traceback unten). Zwar wird über /etc/python2.6/sitecustomize.py utf8 als default-Encoding-Type angegeben, dies scheint aber ignoriert zu werden, da der encoding-Type für den Modulprozess ANSI_X3.4-1968 ist. Auch andere Änderungen von /usr/lib/python2.6/site.py bringen keine Veränderung.

> Traceback (most recent call last):
>   File "/usr/lib/pymodules/python2.6/univention/management/console/modules/__init__.py", line 102, in execute
>     func( request )
>   File "/usr/lib/pymodules/python2.6/univention/management/console/modules/distribution/__init__.py", line 167, in query
>     and (filter == 'all' or i.sender.dn == self._user_dn)
>   File "/usr/lib/pymodules/python2.6/univention/management/console/modules/distribution/util.py", line 108, in __getattribute__
>     object.__getattribute__(self, key)
>   File "/usr/lib/pymodules/python2.6/univention/management/console/modules/distribution/util.py", line 254, in isDistributed
>     files = [ ifn for ifn in self.files if os.path.exists(os.path.join(self.cachedir, ifn)) ]
>   File "/usr/lib/python2.6/genericpath.py", line 18, in exists
>     st = os.stat(path)
> UnicodeEncodeError: 'ascii' codec can't encode characters in position 37-40: ordinal not in range(128)
Comment 1 Alexander Kläser univentionstaff 2012-05-23 14:06:58 CEST
Das Problem kann umgangen werden, wenn im UMC-Server bspw. die Default-Locale als LANG gesetzt wird. Diese gibt standardmäßig als Encoding-Type UTF-8 an:

  os.environ[ 'LANG' ] = default_locale
Comment 2 Alexander Kläser univentionstaff 2012-05-23 14:09:43 CEST
Bitte die Änderungen nach Bug 27256 übernehmen.
Comment 3 Alexander Kläser univentionstaff 2012-05-23 14:16:04 CEST
Der Fehler wurde behoben.

QA: Bitte von einer alten Testumgebung aktualisieren (ggf. mit einer default-Locale ohne UTF-8/mit einer anderen Kodierung) und sicherstellen, dass die UDM-Lokalisierung korrekt funktioniert und keine sonstigen Probleme auftreten.


 univention-management-console (4.0.232-1) unstable; urgency=low
 .
   * set the environment variable LANG to locale/default; Bug #27255
Comment 4 Alexander Kläser univentionstaff 2012-05-24 11:17:40 CEST
Ein Folgefehler trat auf in dem Modul atjobs. atq liefert das Datum immer nicht lokalisiert zurück, strptime() berücksichtigt allerdings die derzeitige Lokalisierung. Dies schlägt fehl, wenn als default locale bspw. de_DE angegeben ist. 

> parsing failed: time data 'Sun May 27 09:30:00 2012' does not match format '%a %b %d %H:%M:%S %Y'

> strftime() liefert zurück → "Do Mai 24 10:50:07 2012"
> locale.getlocale() → ('de_DE', 'UTF8')
> locale.getdefaultlocale() → ('de_DE', 'UTF8')

Dies wurde insoweit angepasst, dass vor Aufruf von strptime() die locale für LC_TIME auf "C" gesetzt wird und nachher wieder auf ihren ursprünglichen Wert.


 univention-lib (1.0.52-1) unstable; urgency=low
 .
   * fixed locale problems when calling atq; Bug #27255
Comment 5 Alexander Kläser univentionstaff 2012-05-24 11:23:02 CEST
*** Bug 27252 has been marked as a duplicate of this bug. ***
Comment 6 Andreas Büsching univentionstaff 2012-05-25 11:33:48 CEST
Locale ist gesetzt. Ich habe noch kurz nach anderen subprocess.Popen aufrufen geschaut, ob dort ähnlich wie bei der atjobs Lib dadurch Probleme entstehen könnten, aber keiner der 18 Treffen scheint nach einer kurzen Durchsicht davon betroffen zu sein.

ChagneLog existiert
Comment 7 Stefan Gohmann univentionstaff 2012-06-11 06:29:28 CEST
UCS@school 3.0 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer  neueren Version von UCS@school erneut auftreten, so sollte dieser Bug dupliziert werden: "Clone This Bug"