amchargue wrote:i recently upgraded from 3.23 to 4.x and started getting this too. Only answer I've found is to change the collation field by field to utf8_general_ci.
Collations and encodings are connected. You can only use one of the utf8 collations if you're using utf8 encoding.
You can only use one of the latin1 collations if you're using latin1 encoding.
You MUST be fully aware of what client encoding you're using in the database. It's a good idea to set the database encoding to the same as the client.
Then set the collation as appropriate.
The error message you're getting is from having a mixture of tables / columns in different encodings. This is legal but extremely awkward; don't do it if you can avoid it.
Why the hell is the default latin1_swedish_ci ???? :glare:
The original developers of MySQL are Swedish. Moreover, this collation happens to work pretty well for many other European languages as well (Certainly English, possibly French and German).
Having Swedish collation means that strings containing Swedish characters will be sorted in the same order as they appear in Swedish dictionaries. As it happens, this is the same as it would be in an English dictionary (except that we don't have those letters).
The _ci suffix means it's case insensitive.
Mark