The save snippet that I posted should be what you're looking for. What you currently have in your compiler save logic takes the .NET string, converts it to a byte array, and then converts that byte array to "iso-8859-1". It should techincally still work,
but is not necessary. You can go directly from a .NET String to the encoding you want.
Typically when you see something convert to an encoding and the character is replaced with a question mark "?" as you mentioned above, it means that there was not an equivalent character representation in your destination encoding. The "?" is a
fallback character. Is it possible that your document has characters that cannot be represented in "iso-8859-1"? Are you using any Unicode sequences that cannot be expressed in that character set?
Either way, what you're experiencing isn't a problem with ScintillaNET.
If you would like to supply a text file that you think should be convertible to "iso-8859-1" and isn't, I would be happy to take a look at it.