Pagina 1 di 1

Caratteri accentati

Pubblicato: 7 aprile 2015 - 11:54
di Cadou
Buongiorno,

Sto attualmente creando un pacchetto WAPT per utilizzare un server WSUS in un ambiente senza AD.
Non ho molta dimestichezza con Python e, nonostante le mie ricerche, non riesco a preservare il carattere "é" in una stringa. Ho provato diverse soluzioni, come ad esempio anteporlo a "u", senza successo.

Ecco il frammento di codice pertinente (il personaggio si trova in "computer non assegnato"):

Codice: Seleziona tutto

#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 + '"')
Questo gruppo "Computer non assegnato" è un gruppo predefinito che non posso eliminare o modificare; preferirei utilizzarlo.
Hai una soluzione per tenere conto correttamente di questa caratteristica?

Grazie mille.

Antoine Cadou

Re: Caratteri accentati

Pubblicato: 8 aprile 2015 - 14:37
di Yvan Karmouta
Ciao,
hai specificato la codifica all'inizio del file setup.py:
# -*- coding: utf-8 -*-

Re: Caratteri accentati

Pubblicato: 8 aprile 2015 - 16:29
di Cadou
Grazie per la risposta.

Il file setup.py inizia effettivamente con la riga:
# -*- coding: utf-8 -*-

Per favore, fammi sapere se c'è qualcos'altro da verificare.

Re: Caratteri accentati

Pubblicato: 9 aprile 2015 - 09:31
di Yvan Karmouta
Ok, un'altra cosa semplice, ma nel codice che hai copiato manca l'indentazione per la riga in questione. L'hai aggiunta al tuo file?

Re: Caratteri accentati

Pubblicato: 9 aprile 2015 - 13:53
di Cadou
In effetti, nel mio post non è stata rispettata la rientranza.
Ma sembra adatto al mio file.
Ecco l'inizio del codice:

Codice: Seleziona tutto

# -*- 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')
Ho trovato un modo per aggirare il problema utilizzando "computer non assegnati" invece di "computer non assegnati".
Tuttavia, mi interesserebbe sapere se hai una risposta.

Re: Caratteri accentati

Pubblicato: 14 aprile 2015 - 10:55
di ssamson
Salve,

siete sicuri che questi attributi siano presenti nel vostro file?

Re: Caratteri accentati

Pubblicato: 14 aprile 2015 - 15:19
di Cadou
Ciao,

dopo aver controllato, le proprietà del file sono UTF-8 senza BOM.
Ho provato con UTF-8 (senza BOM) e il risultato è lo stesso:
quando stampo('Computer non assegnati') ottengo Computer non assegnati,s

Re: Caratteri accentati

Pubblicato: 21 aprile 2015 - 12:03
di htouvet
Il file setup.py deve essere codificato in UTF-8 senza BOM.
È necessario inserire # -*- coding: utf-8 -*- all'inizio del file
e anteporre una 'u' alle stringhe per Unicode.
print(u'Computer assegnato al gruppo')

Re: Caratteri accentati

Pubblicato: 27 aprile 2015 - 13:30
di Cadou
Salve,
grazie per la risposta.
Purtroppo, il problema persiste nonostante l'utilizzo del prefisso "u" e degli altri parametri che mi ha fornito.