Weil das Betriebssystem selbst einen anderen Zeichensatz verwendet (in diesem Fall WE8MSIN1252). Aber da NLS_LANG (auf dem Client) auf AL32UTF8 gesetzt ist, weiß Oracle nichts davon. Oracle verwendet immer den Wert in NLS_LANG und ignoriert Systemeinstellungen, während (fast) alle andere Software Betriebssystemeinstellungen verwendet.
Um dieses Problem zu beheben, muss also das lokale (Client-) NLS_LANG mit dem Zeichensatz des Betriebssystems übereinstimmen. Oder (andere Option) Software, die auf dem Client läuft, muss Zeichen selbst neu kodieren.