Question: What does an empty option list assume about the encoding of the file?
According to the page for open/4:
The default encoding for type text is derived from the Prolog flag encoding.
For binary streams the default encoding is octet.
For details on encoding issues, see section encoding.
Under Prolog flag encoding, we read:
Default encoding used for opening files in text mode. The initial value is deduced from the environment.
So I guess, the environment variable LANG is the one which determines the "default encoding".