I see two possible issues...
* The meaning of _ci collation on accents.
* How to get a particular collation to apply.
I think that
http://collation-charts.org/mysql60/mysql604.utf8_general_ci.european.html says that the various accented Cyrillic e's (Dxxx) are treated as equal in the utf8_general_ci. Meanwhile, the western European e's are equal to each other, but not to the Cyrillic ones.
It is unfortunate that _ci (in MySQL) means _both_ Case Insensitive and Accent Insensitive. Is that the issue you are raising?
This, not the "collation_connection", says how @wrong and @right will be compared:
mysql> SELECT COLLATION(@wrong), COLLATION(@right);
+-------------------+-------------------+
| COLLATION(@wrong) | COLLATION(@right) |
+-------------------+-------------------+
| utf8_unicode_ci | utf8_unicode_ci |
+-------------------+-------------------+
1 row in set (0.00 sec)
Or, to force the collation during the "=" test, regardless of the collation for the operands:
mysql> SELECT
-> IF(@wrong = @right COLLATE utf8_bin, 'Bogus comparison (equal)', 'Right is right (unequal)') AS 'bin',
-> IF(@wrong = @right COLLATE utf8_general_ci, 'Bogus comparison (equal)', 'Right is right (unequal)') AS 'general_ci';
+--------------------------+--------------------------+
| bin | general_ci |
+--------------------------+--------------------------+
| Right is right (unequal) | Bogus comparison (equal) |
+--------------------------+--------------------------+
1 row in set (0.00 sec)
Have I answered your question? If not, please rephrase it.