mysql add tag
Anonymous 1566
The left string contains U+00AD "SOFT HYPHEN", while the right string does not.

<>https://dbfiddle.uk/?rdbms=mysql_5.7&fiddle=f61be0ccdd6903798ef0f3620a66e213

Why is the result "1" (true) on MySQL 8.0? What change was being introduced?

<>https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=f61be0ccdd6903798ef0f3620a66e213
Top Answer
Jack Douglas
The default character set [changed in version 8.0.1](https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-1.html):

> …the default character set has changed from latin1 to utf8mb4.

MySQL compares two strings in a 'lazy' fashion, so for example the compare is [case insensitive by default](https://dev.mysql.com/doc/refman/8.0/en/comparison-operators.html#operator_equal). The details vary by collation.

If you want to compare strings more precisely, you can do a binary compare, or chose a different collation:

<>https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=f577f22097215291eb0e20063e8bce10

This room is for discussion about this question.

Once logged in you can direct comments to any contributor here.

Enter question or answer id or url (and optionally further answer ids/urls from the same question) from

Separate each id/url with a space. No need to list your own answers; they will be imported automatically.