我将项目放进了客户的服务器,将数据链接改为连接客户服务器的数据库,进行增删改的操作会出现数据乱码的问题变成????,一出现这个问题我第一想到的也是编码的问题,在百度找了很多解决编码问题的答案,都是正确的但是我却因为心没静下来大意浪费了很长时间,下面说说解决的答案。 utf-8 与 utf-8-ci的区别在于 ci 可以不区分大小写。
首先要注意的是你创建的数据库是否是utf-8,如果不是的话就把数据复制出来重新创建一个。
进入DOS命令 输入 mysql -u (用户名) -p(密码)。
接着输入 show databases;
这是显示拥有的数据库。
输入 \s 他会显示你数据库的编码格式。
输入 use test; 这个test就是你要修改编码的数据库名。
接着就是输入改变从应用程序上传到数据看的字符集编码格式的命令:
set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_database=utf8;
set character_set_results=utf8;
set character_set_server=utf8;
set character_set_system=utf8;
在输入\s 就可以看到我们修改的编码格式了。
在连接语句后 加上 ?useUnicode=true&characterEncoding=UTF-8
然后就可以试试看了。