让MySql支持中文字符

背景:

在使用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支持中文字符_第1张图片
  2. 重启服务:
    让MySql支持中文字符_第2张图片
  3. 重启workbench查看字符集,框起来的部分都变成utf8:
    让MySql支持中文字符_第3张图片

方便复制粘贴

[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

你可能感兴趣的:(MySql)