Ma sul database ti serve salvare le stringhe come case sensitive? Perchè utf8_bin utilizza i valori binari dei caratteri, da cui probabilmente derivano anche gli strani caratteri sul tuo database

Di ignoranza pura io userei utf8_unicode_ci, a me non ha mai dato problemi