1 Reply Latest reply on Feb 8, 2012 1:11 PM by ChuckWeger

    FileMaker 11 ODBC Drivers return corrupted non-ASCII characters to unicode applications

    pjmnps

      Summary

      FileMaker 11 ODBC Drivers return corrupted non-ASCII characters to unicode applications

      Product

      FileMaker Server

      Version

      11

      Operating system version

      Mac OS X 10.6.8

      Description of the issue

      FileMaker 11 ODBC Drivers return corrupted non-ASCII characters to unicode applications. Older non-unicode versions of applications get properly encoded characters, but newer unicode ones do not.

      Even FileMaker Pro 11 importing from FileMaker Server 11 using ODBC import will demonstrate the problem.

      Steps to reproduce the problem

      Put a bullet character (•) in a database field in a file hosted by a FileMaker 11 server (Mac OS X).

      Use FileMaker Pro 11 (Mac OS X) to do an import from the server as an ODBC data source.

      Expected result

      You should get a bullet character (•)

      Actual result

      You get a Yen symbol. When using a programming language interfacing with ODBC (Real Studio), I can actually see the raw bytes returned for the character returned which are (HEX) C2 A5 (which correlates to the UTF-8 sequence for the Yen symbol). That 2 byte sequence does not correlate to a bullet character in any encoding I can find, so it appears to be a bug, not just a question of picking the correct encoding.

      Workaround

      None - beyond using older software that doesn't have the problem.

        • 1. Re: FileMaker 11 ODBC Drivers return corrupted non-ASCII characters to unicode applications
          ChuckWeger

          I have exactly the same problem. A post somewhere on the Intertubes suggested manually adding "client charset = UTF-8" to the odbc.ini file, which I did without success.

          Has anyone successfully gotten ODBC data out of FileMaker 11 in Unicode format?

          UPDATE: almost as soon as I posted this, I found the answer. Using the Actual Technologies ODBC Manager, in the "Database Information" pane, you click the "Advanced Language" button. In the resulting dialog, uncheck "Auto-detect language settings," then check "Application uses the wide ODBC API," and finally chose "UTF-8" in the Multi-byte text encoding popup. After this, it works correctly.