Customises how EDB collations are translated to MySQL/MariaDB
collations. Opens from Edit Collations Map on the
Source Database or Target Database
tabs. Changes are saved to collation_map.json in
%ProgramData%\Easygate Software\EDB2MySQL\ and affect
future script generations only.
Entry list (left) — all map entries, each identified by four keys: DB type, family, charset, and modifiers.
MySQL candidates (top right) — ordered candidate list for the selected entry, MySQL server.
MariaDB candidates (bottom right) — ordered candidate list for the selected entry, MariaDB server.
Each entry answers: “For an EDB column with these characteristics, targeting this charset, which collation should be used?”
| Key | Values | Meaning |
|---|---|---|
| DB Type | csANSI, csUnicode |
EDB session character set |
| Family | binary, locale |
binary for UNI/ANSI bases;
locale for named locales |
| Charset | e.g. utf8mb4, latin1 |
Target MySQL/MariaDB charset |
| Modifiers | '', _CI, _AI,
_CI_AI |
EDB collation modifiers |
| Condition | When used |
|---|---|
| Always | Unconditionally. Every entry must have at least one Always candidate as the final fallback. |
| If AI-safe | Column does not risk uniqueness conflicts from accent-insensitivity. |
| If CI-safe | Column does not risk uniqueness conflicts from case-insensitivity. |
| If AI-safe and CI-safe | Both conditions met. |
Candidates are evaluated top-to-bottom; the first satisfying candidate wins. → How Collation Mapping Works
Select an entry to see its candidates in the MySQL and MariaDB grids.
Add entry — click Add in the entry list → New Collation Map Entry. The key combination must be unique.
Delete entry — select an entry and click Delete in the entry list area. Removes the entry and all its candidates.
Click Restore Defaults to discard all customisations and reload the factory map. All edits are lost.
Click OK to validate and save. Validation checks:
Click Cancel to discard all changes.
The collation map file is a JSON object with a
"collation_map" array. Example entry:
{
"db_type": "csUnicode",
"family": "locale",
"dest_charset": "utf8mb4",
"modifiers": "_CI",
"mysql": [
{ "name": "utf8mb4_0900_ai_ci", "condition": "#" },
{ "name": "utf8mb4_unicode_ci", "condition": "C" },
{ "name": "utf8mb4_general_ci", "condition": "" }
],
"mariadb": [
{ "name": "utf8mb4_unicode_ci", "condition": "" }
]
}Condition codes: "" = Always, "A" = If
AI-safe, "C" = If CI-safe, "#" = If AI-safe
and CI-safe.
In this example the MySQL list tries the best candidate first (accent- and case-insensitive, only when both are safe), then a CI-only collation, then the unconditional fallback.