Потому что сама ОС использует другой набор символов (в данном случае WE8MSIN1252). Но поскольку NLS_LANG (на клиенте) имеет значение AL32UTF8, Oracle не знает об этом. Oracle всегда использует значение в NLS_LANG и игнорирует системные настройки, в то время как (почти) все другое программное обеспечение использует настройки ОС.
Итак, чтобы решить эту проблему, локальный (клиентский) NLS_LANG должен совпадать с набором символов ОС. Или (другой вариант) программное обеспечение, работающее на клиенте, должно самостоятельно перекодировать символы.