Delphi 2009 sets the default file format for new source code files to ANSI, this makes the source code platform-dependent.
Even for a new XSD file created in the IDE, which by default starts with this line
<?xml version="1.0" encoding="UTF-8" ?>
Delphi sets the file format to ANSI (this looks like a bug, for new XML and XSLT documents UTF8 is selected by default).
Is there a hidden option to set the default file format for source code files?
In fact this blog post from 2004 mentions a hidden IDE option. It states that you can set a default file filter in the registry to make UTF-8 the default encoding in Delphi 8. This still works under Tokyo! Clearly, you have to adapt the path of the registry key to recent versions like this:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Embarcadero\BDS\19.0\Editor]
"DefaultFileFilter"="Borland.FileFilter.UTF8ToUTF8"
After setting this value Delphi will encode new units in UTF-8 with BOM.