UTF8 should work fine.  It is only UTF16 that is not supported.  Fossil is
seeing the 0x00 bytes in some of the characters and thinks it is dealing with
a binary file rather than a text file.

I suppose the "diff" logic (which is essential to doing a merge) could
be enhanced to deal with UTF16.  Would the poster care to suggest a patch?