背景:

在使用Entity Framework 6.0 + MySql 5.7,使用Code First的情况下,如果存储中文字符会报错,然后在MySql Workbench里直接写sql语句也报错。

解决方案:

用`SET character_set_client=’utf8’;

SET character_set_connection=’utf8’;

SET character_set_results=’utf8’;

set character_set_database=’utf8’;

set character_set_server=’utf8’;`
修改字符集,结果C# 程序如果每次启动重新创建数据库,字符集又会恢复原来的样子。
一劳永逸的方法是修改my.ini文件。

文件位置

win10系统的位置是:C:\ProgramData\MySQL\MySQL Server 5.7\my.ini

步骤:

  1. 打开该文件修改成如下样子后保存:
    让MySql支持中文字符
  2. 重启服务:
    让MySql支持中文字符
  3. 重启workbench查看字符集,框起来的部分都变成utf8:
    让MySql支持中文字符

方便复制粘贴

[client]
default-character-set = utf8

[mysql]
default-character-set = utf8

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8
collation-server = utf8_unicode_ci
init_connect=’SET NAMES utf8

相关文章:

  • 2021-12-03
  • 2021-12-26
  • 2021-06-04
  • 2021-12-22
  • 2022-12-23
  • 2021-07-27
  • 2022-03-03
猜你喜欢
  • 2021-12-08
  • 2022-12-23
  • 2021-05-30
  • 2022-01-09
  • 2021-08-01
相关资源
相似解决方案