Hurrah!
Yes, really hurrah!

No more problem in mixing latin and greek characters. Here is the secret...
I spent hours and hours wondering why phpMyAdmin and MODx were unable to save Greek text in the same chunk as English, French and German text.
The database was in UTF-8.
The MODx backend end was set to UTF-8.
The setup had been done in UTF-8.
The database collation was UTF-8.
But the damned Greek characters were never saved correctly.
All the time
? chars instead.
The French "ç" was saved without problem. So, some iso-8859-1 was certainly still here.
Now, it’s time to mention that the database had been converted from iso-8859-1 to UTF-8, using the "Operations" tab of phpMyAdmin.
Surprisingly, I observed that the collation (interclassement) of all tables were still iso-8859-1. So, for the problematic table, I changed the collation from iso-8859-1 to utf-8. But it was still not working.
Then, I found out that
the table fields themselves have their own collation. Your database can have an utf-8 collation, your table too, but the field still have an iso-8859-1 (latin-1) collation.
I changed the problematic field to have an utf-8 collation too. And now, this works perfectly.

At least with phpMyAdmin and probably the same when editing with MODx.
I’m not an expert in charsets and encodings although I read quite a lot above them.
Currently, I represent myself Collations like "Views".
As conclusion:
- The data are stored with a given number of bytes.
This is determined by the encoding:
- 1 byte/char for iso-8859-1 ... iso-8859-7,
- 2 bytes/char for UTF-16
- variable number of bytes/char for UTF-8.
- The bytes are mapped a certain way to characters and vice versa. This is the role of the charset. For example, the iso-8859- series maps into different "alphabets".
- Now, from what I understand, we tell how we want to access the data. For example, we can ask to "read" or "write" data in UTF-8 storage in an iso-8859-1 "mode". This is the role of the collation.
Collation acts like a filter.
We often take care about "encoding" and "charset", but we often forget the collation, which acts behinds the scenes. And this is where problems arise.
To make things even more complicated, the collation can be set at 3 levels: database, table and table column (i.e. field).
At least, that’s my understanding.
I would be happy if some expert could confirm or invalidate it.