MySQL DB selects records with and without umlauts. e.g: '.. where something = FÖÖ'

前端 未结 3 1536
栀梦
栀梦 2020-12-19 06:22

My Table collation is \"utf8_general_ci\". If i run a query like:

SELECT * FROM mytable WHERE myfield = \"FÖÖ\"

i get results where:

<
相关标签:
3条回答
  • 2020-12-19 07:04

    A list of the collations offered by MySQL for Unicode character sets can be found here:

    http://dev.mysql.com/doc/refman/5.0/en/charset-unicode-sets.html

    If you want to go all-out and require strings to be absolutely identical in order to test as equal, you can use utf8_bin (the binary collation). Otherwise, you may need to do some experimentation with the different collations on offer.

    0 讨论(0)
  • 2020-12-19 07:10

    For scandinavian letters you can use utf8_swedish_ci fir example.

    Here is the character grouping for utf8_swedish_ci. It shows which characters are interpreted as the same. http://collation-charts.org/mysql60/mysql604.utf8_swedish_ci.html

    Here's the directory listing for other collations. I'm no sure which is the used utf8_general_ci though. http://collation-charts.org/mysql60/

    0 讨论(0)
  • 2020-12-19 07:17
    SELECT * FROM table WHERE some_field LIKE ('%ö%'  COLLATE utf8_bin)
    
    0 讨论(0)
提交回复
热议问题