What I guess I found out so far is the following
First npp tries to detect if the file is a BOM file, if it is,
it gets rid of the BOM signature and continues reading the file in converted utf-8.
If it isn’t a BOM file it’s calling chardet library to see what codepage to use.
If chardet returns, it is checked if it is reported to be utf-8 -> go on reading the file …
if not, convert it to utf-8.
But this, of course, happens only “virtual” for scintilla control.
Cheers
Claudia