Page 1 sur 1

Caractères accentué

Publié : 07 avr. 2015 - 11:54
par Cadou
Bonjour,

Je suis actuellement en train de créer un paquet WAPT pour utiliser un serveur WSUS dans un environnement sans AD.
Je ne maîtrise pas le python et malgré mes recherches, je ne parviens pas conserver le caractère « é » dans une chaîne. J'ai essayé plusieurs solutions et comme utiliser « u » devant sans succès.

Voici le bout de code concerné ( le caractère se trouve dans « ordinateur non attribué »):

Code : Tout sélectionner

#ouverture de la clef  keygroupe=reg_openkey_noredir(HKEY_CURRENT_USER,'SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\WindowsUpdate\\AU',sam=KEY_WRITE,create_if_missing=True)

#determine le groupe d'attribution de l'ordinateur
keyname=reg_openkey_noredir(HKEY_LOCAL_MACHINE,'SYSTEM\\ControlSet001\\Control\\ComputerName\\ComputerName',sam = KEY_READ)

localhost = reg_getvalue(keyname,'ComputerName')

    if type(localhost[1:4]) == int:
        groupe = 'Pedagogique'
    else:
	groupe = 'Ordinateur non attribué' 

#indique le groupe d'attribution au serveur WSUS
reg_setvalue(keygroupe,'TargetGroupEnabled',1,REG_DWORD)
reg_setvalue(keygroupe,'TargetGroup',groupe,REG_SZ)
print('Ordinateur attribue au groupe ' + '"' + groupe + '"')
Ce groupe « Ordinateur non attribué » est un groupe par défaut que je ne peux pas supprimer ou modifier, je préférerais l'utiliser.
Avez-vous une solution pour prendre en compte correctement ce caractère ?

Merci beaucoup.

Antoine Cadou

Re: Caractères accentué

Publié : 08 avr. 2015 - 14:37
par yvan karmouta
Bonjour,
Avez vous précisez l'encodage du au début du fichier setup.py :
# -*- coding: utf-8 -*-

Re: Caractères accentué

Publié : 08 avr. 2015 - 16:29
par Cadou
Merci pour votre réponse.

Le fichier setup.py commence bien par la ligne:
# -*- coding: utf-8 -*-

Faites moi savoir si d'autres éléments peuvent être vérifié.

Re: Caractères accentué

Publié : 09 avr. 2015 - 09:31
par yvan karmouta
Ok une seconde chose toute bête mais dans le code que vous avez copié il manque l'indentation pour la ligne en question, l'avez vous mis dans votre fichier ?

Re: Caractères accentué

Publié : 09 avr. 2015 - 13:53
par Cadou
En effet, l'indentation n'était pas respectée dans mon post.
Mais me parais convenable dans mon fichier.
Voici le début du code :

Code : Tout sélectionner

# -*- coding: utf-8 -*-
from setuphelpers import *

# registry key(s) where WAPT will find how to remove the application(s)
uninstallkey = []

# command(s) to launch to remove the application(s)
uninstallstring = []

# list of required parameters names (string) which can be used during install
required_params = []


def install():
    # if you want to modify the keys depending on environment (win32/win64... params..)
    global uninstallkey
    global uninstallstring

    print('installing tis-clientwsus')
J'ai trouvé un moyen de contourner le problème en utilisant 'unassigned computers' en lieu et place de 'ordinateur non attribués'.
Je reste cependant intéressé si vous avez une réponse.

Re: Caractères accentué

Publié : 14 avr. 2015 - 10:55
par ssamson
Bonjour,

êtes vous sûr d'avoir ces propriétés dans votre fichier ?

Re: Caractères accentué

Publié : 14 avr. 2015 - 15:19
par Cadou
Bonjour,

Après vérification les propriétés du fichier est UTF-8 no BOM.
J'ai fait un essai avec UTF-8 (sans BOM) et le résultat est le même :
lorsque je fait un print('Ordinateurs non attribués') j'obtiens Ordinateurs non attribu,s

Re: Caractères accentué

Publié : 21 avr. 2015 - 12:03
par htouvet
Le fichier setup.py doit être encodé en UTF8 sans BOM
Il faut mettre # -*- coding: utf-8 -*- en tête de fichier
et préfixer les chaines avec un 'u' pour unicode.
print(u'Ordinateur attribué au groupe')

Re: Caractères accentué

Publié : 27 avr. 2015 - 13:30
par Cadou
Bonjour,
Merci pour votre réponse.
Hélas, j'ai le même problème malgré l'utilisation du préfixe "u" et des autres paramètres que vous m'avez donné.