COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'latin1'

前端 未结 4 1656
灰色年华
灰色年华 2020-12-06 09:25

I am trying to fix a character encoding issue - previously we had the collation set for this column utf8_general_ci which caused issues because it is accent insensitive..

相关标签:
4条回答
  • 2020-12-06 09:41

    In my case I created a database and gave the collation 'utf8_general_ci' but the required collation was 'latin1'. After changing my collation type to latin1_bin the error was gone.

    0 讨论(0)
  • 2020-12-06 09:53

    The same error is produced in MariaDB (10.1.36-MariaDB) by using the combination of parenthesis and the COLLATE statement. My SQL was different, the error was the same, I had:

    SELECT *
    FROM table1
    WHERE (field = 'STRING') COLLATE utf8_bin;
    

    Omitting the parenthesis was solving it for me.

    SELECT *
    FROM table1
    WHERE field = 'STRING' COLLATE utf8_bin;
    
    0 讨论(0)
  • 2020-12-06 09:54

    Firstly run this query

    SHOW VARIABLES LIKE '%char%';
    

    You have character_set_server='latin1'

    for eg if CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci replace it to CHARSET=latin1 and remove the collate

    You are good to go

    0 讨论(0)
  • 2020-12-06 10:03

    Firstly run this query

    SHOW VARIABLES LIKE '%char%';
    

    You have character_set_server='latin1'

    If so,go into your config file,my.cnf and add or uncomment these lines:

    character-set-server = utf8
    collation-server = utf8_unicode_ci
    

    Restart the server. Yes late to the party,just encountered the same issue.

    0 讨论(0)
提交回复
热议问题