Perché il sistema operativo stesso utilizza un altro set di caratteri (WE8MSIN1252 in questo caso). Ma poiché NLS_LANG (sul client) è impostato su AL32UTF8, Oracle non lo sa. Oracle utilizza sempre il valore in NLS_LANG e ignora le impostazioni di sistema, mentre (quasi) tutti gli altri software utilizzano le impostazioni del sistema operativo.
Quindi, per risolvere questo problema, NLS_LANG locale (client) deve essere uguale al set di caratteri del sistema operativo. Oppure (altra opzione) il software in esecuzione sul client deve ricodificare i caratteri da solo.