Utf8_unicode_ci and Utf8_general_ci have no real difference between Chinese and English.
Utf8_general_ci proofreading speed is fast, but the accuracy is slightly worse.
Utf8_unicode_ci accuracy is high, but the proofreading speed is slightly slower.
If your application is German, French, or Russian, be sure to use UTF8_UNICODE_CI. The general use of utf8_general_ci is enough.
Report:
CI is case insensitive, that is, "casing is not sensitive", a and a will be in the character judgment will be treated as the same;
The bin is binary, and a and a are treated differently.
For example you run:
SELECT * FROM table WHERE txt = ' a '
Then in Utf8_bin you can't find the line of txt = ' a ', and utf8_general_ci can.
Utf8_general_ci Case-insensitive, this is what you use when registering your username and mailbox.
Utf8_general_cs case-sensitive , if the user name and mailbox Use this will be bad consequences
utf8_bin: String Each string is compiled with binary data stored. case-sensitive and binary content can be stored
The difference between collation Utf8_unicode_ci and Utf8_general_ci in MySQL