同样的sql语句,在数据库cmd下插入的时候使用select查询时就是中文, 在php中使用insert语句插入数据库,在进入到数据库中在查询就是变成乱码了?为什么?怎么办
只要php和mysql中使用同一种编码 应该不会出现乱码 如果还有乱码则是数据库问题 建议修改如下
① 首先把MySQL的服务停掉 在运行窗口输入:net stop mysql
② 把服务器和客户端的字符集改成自己想用的字符集:GB2312或是utf8等……
具体操作为:打开mysql安装目录下的my.ini;
找到default-character-set,将其改为自己想用的字符集:GB2312或是utf8等……,要注意的是这里有两个default-character-set,用ctrl+f定位在文件最前面输入default就会找到,都要改过来;
③ 重启MySQL服务器,在运行窗口输入:net start mysql
④ 最重要的是一点是,到这里我们已经能够解决乱码问题了,可问题是我们依然还会出现乱码问题,这是因为我们现在的表被创建的时候用的是默认的字符集(latin1),所以这时候我们要把表删除,然后重建就可以了追问
① 首先把MySQL的服务停掉 在运行窗口输入:net stop mysql
② 把服务器和客户端的字符集改成自己想用的字符集:GB2312或是utf8等……
具体操作为:打开mysql安装目录下的my.ini;
找到default-character-set,将其改为自己想用的字符集:GB2312或是utf8等……,要注意的是这里有两个default-character-set,用ctrl+f定位在文件最前面输入default就会找到,都要改过来;
③ 重启MySQL服务器,在运行窗口输入:net start mysql
④ 最重要的是一点是,到这里我们已经能够解决乱码问题了,可问题是我们依然还会出现乱码问题,这是因为我们现在的表被创建的时候用的是默认的字符集(latin1),所以这时候我们要把表删除,然后重建就可以了追问
你建的表用的是什么字符集?show create table tbname
追问按照你说的按了重建表啊,应该是utf8
温馨提示:答案为网友推荐,仅供参考
第1个回答 2015-10-14
看看你的服务器语言设置....是不是设置的不一样?
show variables 'character%';追问
show variables 'character%';追问
这是为什么
show variables like 'character%';
追问哪有问题
show global variables like 'character%';
看下全局变量....
看不出什么问题吧