SYLK is a venerable interface, and pre-dates Unicode. It is also a proprietary Microsoft implementation. They don't publish a spec. So implementations like ORA_SYLK are basically reversed engineered.
Anyway, according to Wikipedia:
"even if a SYLK file is created by an application that supports
Unicode (for example Microsoft Excel), the SYLK file will be encoded
in the current system's ANSI code page, not in Unicode. If the
application contained characters that were displayable in Unicode but
have no codepoint in the current system's code page, they will be
converted to question marks ('?') in the SYLK file."
So there doesn't seem to be much you can with ORA_SYLK because the fault lies with SYLK. There are some other ways of exporting data to Excel; they may be able to solve your problem. I provided links at the end of my answer to another question. Find out more.