Users running ANSI scripts are having problems with special characers
First question would be: "What does ANSI encoding mean?"

Answer depends on your Windows, see this list:  National Language Support (NLS) API Reference (column "ANSI codepage")

Let's assume you have a "western" Windows, then ANSI encoding most likely means Codepage 1252

In this case you must set your NLS_LANG environment value accordingly to NLS_LANG=.WE8MSWIN1252

See also https://stackoverflow.com/questions/33783902/odbcconnection-returning-chinese-characters-as/33790600#33790600

As far as I remember SQL scripts must not have any BOM (Byte Order Mark) at the beginning.