做毕设的时候,用thinkPHP,功能实现一个用户数据的插入.
测试插入时,打开navcat,发现中国全部被替换成了问号.
于是做了以下几件事.
1.进入linux, 修改mysql的配置文件.添加字符集配置.
2.运行mysql命令, 把所有数据库和表的字符集改成utf8.
3.查看phpstrom编辑器的字符集,发现默认就是utf-8.
4.在项目的数据库配置文件上添加操作数据时的配置.
‘DB_CHARSET’=> ‘utf8’, // 字符集
5.尝试插入,发现所有中文还是变成了问号.
6.无奈之下把整个数据库转存为sql文件.
7.删除原来的数据库.
8.新建同名数据库,然后运行sql文件.
然后奇怪的事情发生了, 插入数据的时候依旧是问号,
但是获取数据却变回了中文.
= = 最后经朋友提醒,要把navicat下的 ‘使用Mysql字符集’选项勾上.
1.断开数据库连接.
2.查看连接属性.
3.修改选项.
4.重新连接.
…….问题解决
其实,当出现 插入时中文变问号, 但是取出时又正常,这时候真实的mysql应该是存储正确的. 问题就出在navicat这个软件上….
然而就是这个问题浪费了我一晚上时间,记录一下.
以上.