Bởi vì hệ điều hành chính nó sử dụng bộ ký tự khác (WE8MSIN1252 trong trường hợp này). Nhưng vì NLS_LANG (trên máy khách) được đặt thành AL32UTF8, nên Oracle không biết về điều này. Oracle luôn sử dụng giá trị trong NLS_LANG và bỏ qua cài đặt hệ thống, trong khi (hầu như) tất cả các phần mềm khác đều sử dụng cài đặt hệ điều hành.
Vì vậy, để khắc phục sự cố này, NLS_LANG cục bộ (máy khách) phải giống với bộ ký tự OS. Hoặc (tùy chọn khác) phần mềm chạy trên máy khách phải tự mã hóa lại các ký tự.