09-06-2017 02:12 AM
When creating a TDMS file using DDC_CreateFile with (non-ASCII) filenames encoded in UTF8, the actual filename reported by Windows (10) looks to use ANSI code page characters rather than Unicode, eg the Korean "야비마.tdms" (or in bytes EC, 95, BC, EB, B9, 84, EB, A7, 88, 2E, 74, 64, 6D, 73, 0) is created as "야비마.tdms"
The API property functions do appear to use UTF8 properly however.
Is this behavior expected and is there a workaround?
09-06-2017 06:12 AM
The API never uses utf-8 at none places.
It always uses CP_ACP.
|
The system default Windows ANSI code page. Note This value can be different on different computers, even on the same network. It can be changed on the same computer, leading to stored data becoming irrecoverably corrupted. This value is only intended for temporary use and permanent storage should use UTF-16 or UTF-8 if possible.
|
The TDMS file generated stores the information as UNICODE.
As a result of this a Korean file can be created in Korea and be read by DIAdem/... in the US, but the TDM C dll is only capable to raed back the correct content in Korea. A UNICODE filename can not be opened if it contains characters not in the default ANSI code page.
So UNICODE support for TDM C dll is reduced to the local code page.
Sorry for this
Andreas