Página 1 de 1

Caracteres acentuados

Publicado: 7 de abril de 2015 - 11:54 a. m.
por Cadou
Buen día,

Actualmente estoy creando un paquete WAPT para utilizar un servidor WSUS en un entorno sin AD.
No domino Python y, a pesar de mi investigación, no consigo conservar el carácter "é" en una cadena. He probado varias soluciones, como usar "u" antes, sin éxito.

Aquí está el fragmento de código relevante (el personaje se encuentra en una "computadora no asignada"):

Código: Seleccionar todo

#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 + '"')
Este grupo "Computadora no asignada" es un grupo predeterminado que no puedo eliminar ni modificar; preferiría usarlo.
¿Tiene alguna solución para tener en cuenta adecuadamente esta característica?

Muchas gracias.

Antoine Cadou

Re: Caracteres acentuados

Publicado: 8 de abril de 2015 - 14:37
por Yvan Karmouta
Hola,
¿especificaste la codificación al principio del archivo setup.py:
# -*- coding: utf-8 -*-

Re: Caracteres acentuados

Publicado: 8 de abril de 2015 - 16:29
por Cadou
Gracias por su respuesta.

El archivo setup.py comienza efectivamente con la línea:
# -*- coding: utf-8 -*-

Por favor, avíseme si hay algo más que se pueda revisar.

Re: Caracteres acentuados

Publicado: 9 de abril de 2015 - 9:31 a. m.
por Yvan Karmouta
Bueno, una cosa simple: en el código que copiaste, falta la sangría de la línea en cuestión. ¿La agregaste a tu archivo?

Re: Caracteres acentuados

Publicado: 9 de abril de 2015 - 13:53
por Cadou
De hecho, en mi publicación no se respetó la sangría.
Pero parece adecuado en mi archivo.
Aquí está el comienzo del código:

Código: Seleccionar todo

# -*- 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')
Encontré una forma de solucionar el problema utilizando "computadoras no asignadas" en lugar de "computadoras no asignadas".
Sin embargo, sigo interesado si tienes una respuesta.

Re: Caracteres acentuados

Publicado: 14 de abril de 2015 - 10:55 a. m.
por ssamson
Hola,

¿estás seguro de que tienes estas propiedades en tu archivo?

Re: Caracteres acentuados

Publicado: 14 de abril de 2015 - 15:19
por Cadou
Hola,

después de comprobarlo, las propiedades del archivo son UTF-8 sin BOM.
Probé con UTF-8 (sin BOM) y el resultado es el mismo:
cuando imprimo ('Computadoras no asignadas') obtengo Computadoras no asignadas,

Re: Caracteres acentuados

Publicado: 21 de abril de 2015 - 12:03 p. m.
por htouvet
El archivo setup.py debe estar codificado en UTF-8 sin BOM.
Debes colocar # -*- coding: utf-8 -*- al principio del archivo
y anteponer una 'u' a las cadenas para Unicode.
print(u'Computer assigned to the group')

Re: Caracteres acentuados

Publicado: 27 de abril de 2015 - 13:30
por Cadou
Hola,
gracias por tu respuesta.
Lamentablemente, sigo teniendo el mismo problema a pesar de usar el prefijo "u" y los demás parámetros que me proporcionaste.