Pagina 1 di 1

Problema di accento

Pubblicato: 14 dicembre 2017 - 09:51
di steph.prevot
Salve,
ho problemi con la "é" quando cerco di passare i miei PC Windows 7 da indirizzi IP statici a DHCP. Il mio file batch funziona correttamente se eseguito manualmente, ma ho un problema di codifica con WAPT. Quindi ho provato a sostituire utf-8 con cp850:

# -*- coding: cp850 -*-
from setuphelpers import *

uninstallkey = []

def install():
print("Aggiornamento delle interfacce IP")
run (r'reg import DHCP-CLIENT.reg')
run (u'netsh interface ip set dns "Connessione alla rete locale" dhcp')
run (u'netsh interface ip set address "Connessione alla rete locale" dhcp')

ma sono tornato al mio problema di codifica con il messaggio:
Aggiornamento delle interfacce IP
Il codec 'ascii' non può codificare i caratteri nelle posizioni 42-44: ordinale non nell'intervallo (128): la stringa errata è 'u'netsh interface ip set dns "Connessione "sulla rete locale" dhcp

Grazie per l'aiuto

Re: Problema di accento

Pubblicato: 14 dicembre 2017 - 17:40
di dcardon
Dovresti evitare il più possibile i caratteri accentati nei comandi di esecuzione. La codifica di input e output non è mai veramente controllata (questo non è un problema di WAPT in sé, ma di cmd.exe).

È meglio usare i comandi WMI, che sono utilizzabili in Python, qualcosa del genere: `

import wmi
nic_configs = wmi.WMI().Win32_NetworkAdapterConfiguration(IPEnabled=True)
for nic in nic_configs:
nic.EnableDHCP()`

E non dimenticare di verificare nel pacchetto che sia disponibile un lease per la tua macchina prima di passare a questa configurazione!

Re: Problema di accento

Pubblicato: 15 dicembre 2017 - 12:50
di steph.prevot
Ciao,

grazie per l'aiuto.
WMI è ben oltre le mie competenze, quindi ho creato un piccolo script che si avvia all'accesso e fa il suo lavoro alla perfezione.

Saluti!