最近在学习C#用MVC5+EF6,连接MYSQL进行操作;
在后边的博客中学习到了基本的连接方式:VS2019+MVC+EF6-CodeFirst 连接MySQL;
插入中文变成???问号
然后在测试中发现,插入含有中文的数据,查出来的时候变成了问号???
解决思路:
- 编码问题,然后在连接字符串中加上了Charset=utf8;不行的试试下一个方法;
- 插入数据库使用默认编码问题,更改默认编码为utf8mb4;我自己的库的默认编码是latin1,latin1储存不了中文的;改成utf8mb4就好了(utf8不能储存表情信息),具体修改请另外查询my.ini配置修改;
尝试过程中,觉得排查问题可以分成3个部分:
- 数据库本身的问题;
- 连接字符串的问题
- 编辑器的编码是否存在问题;
把未知的问题划分成块来排查,总会比盲查盲改好许多,有个排查路线总会快捷很多;