Chuck McDevitt <cmcdev...@greenplum.com> wrote: > Just an FYI regarding this bug: > http://archives.postgresql.org/pgsql-bugs/2009-12/msg00267.php > > The wide-char version of any WIN32 API call will accept or return > data in UTF-16 encoded Unicode, regardless of the local environment's > single-byte (MBCS) encoding settings (codepage).
I have a Windows-specific patch for open(), attached for reference. But we need to consider about other issues: - We need to consider about not only only open(), but also opendir(), stat() and symlink(). - An entirely-different fix is needed for non-Windows platforms. Probably we will convert encodings from GetDatabaseEncoding() to GetPlatformEncoding() in MBCS, but this is not needed on Windows. We should consider avoiding random ifdef blocks for the switching. - Those conversions are not free. We might need to avoid conversions for paths under $PGDATA because we only use ascii names in the server. I used a test with IS_HIGHBIT_SET in the attached patch, but I'm not sure whether it is the best method. Regards, --- Takahiro Itagaki NTT Open Source Software Center
pgwin32_open.patch
Description: Binary data
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers