Product and version:
Actual ODBC Driver 4.2.0
Tested with the following combinations of FMS and FMP
- FMS 188.8.131.52 + FMP 184.108.40.206
- FMS 220.127.116.11 + FMP 18.104.22.1680
- FMS 22.214.171.1246 + FMP 126.96.36.1990
- FMS 188.8.131.526 + FMP 184.108.40.206
OS and version:
FMSs are on Mac mini server (Late 2012)
MySQLs are on ubuntu linux or MacBook Pro 2018
Although FileMaker Pro correctly handles MySQL's utf8mb4 encoding on a local file, it fails to read/write four byte utf8 characters when opening the same file remotely.
How to replicate:
1. Create a new database in MySQL with 'utf8mb4' as the default character set.
create database test
character set utf8mb4
2. Create a new table (the DB charset is used implicitly).
create table `test` (
`id` INT NOT NULL,
) ENGINE = InnoDB;
3. Insert a row with a four byte UTF-8 character (revolving hearts emoji).
insert `test` (`id`,`name`) values (1, 0xf09f929e);
4. On a FileMaker Server machine, create a new DSN for the 'test' database in ODBC Manager.app. The 'Advanced Language...' setting is as follows.
- Auto-detect language settings for application : off
- Application uses the "wide" ODBC API : on
- Treat text types as Unicode : on
5. Create a new FM database file with an external data source connected to the defined DSN. Verify that the emoji character is correctly displayed on a layout.
6. Upload the FM DB to FM Server.
7. Using FM Pro, open the FM DB as a client.
8. View the record in the test table.
9. Input a four-byte UTF-8 character like Char(5646955357) into the name field.
At step 8, the emoji character is displayed correctly.
At step 9, the entered character is saved and displayed correctly.
At step 8, the emoji character is garbled.
At step 9, the entered character is garbled (no error message).
I have tried various combination of 'Advanced Language...' setting for the DSN and none of them worked.
I am not sure if this is a regression (i.e. it worked as expected in an older version) or it never worked on a remote file.