错误来源:
今天在调试Wang富文本编辑器的时候,想要存储表情时,报了这个错:
Incorrect string value: '\xF0\x9F\xA4\xA3</...' for column 'title' at row 1
上网搜索解决办法得知,mysql默认编码一般都是用的utf8,但是呢Emoji表情或者某些特殊字符是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去,就报错了。
解决办法:
在MySQL的文件中my.ini中修改对应信息
[mysqld]
character-set-server=utf8mb4
[mysql]
default-character-set=utf8mb4
新的问题:
找不到 my.ini文件,然后继续上网学习,发现在安装时mysql程序一般默认为:
C:\Program Files\MySQL\MySQL Server 5.7
还有一个数据路径,也是有默认路径的,我们小白一般安装程序都是点点点next,所以一般有这个路径:
C:\ProgramData\MySQL\MySQL Server 5.7
在这里面非常明显就找打了文件 my.ini修改就行,出现权限问题,就添加权限即可。在属性、安全、编辑、然后选择自己这个电脑登录用户修改权限报错就可以编辑文件了,然后复制一份到路径:
C:\Program Files\MySQL\MySQL Server 5.7
怎么判断要不要复制呢?很简单,打开控制面板,右上角搜索服务,win10是服务,win11是小字查看本地服务,找到mysql,右键属性,找到可执行路径,如下:
"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe"
--defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" MySQL57
发现启动器是 Program Files,所以需要复制一份my.ini到Program Files中,不复制不生效,复制了还不生效,就在服务里面重启这个服务。