mysql 怎么把数据库中的字符集gb2312编码改成gbk编码,而且不乱码
因为网站上有时候会输入一些生僻字进去,但是gb2312的范围太小,都不支持生僻字的,所以导致乱码了,所以我想把数据库编码改成gbk的,但是怕会乱码,因为数据库数据比较多,...
因为网站上有时候会输入一些生僻字进去,但是gb2312的范围太小,都不支持生僻字的,所以导致乱码了,所以我想把数据库编码改成gbk的,但是怕会乱码,因为数据库数据比较多,所以不知道有没有不产生乱码的方法来转换
展开
3个回答
展开全部
我也遇见过此类情况,这是因为你刚开始安装的时候没把编码设置正确,你刚开始设置的是latin1,但是以前的是gb2312编码来的,所以在后台能正常显示,但是肯定在phpmyadmin是乱码,你重新设置为gb2312后,之前的编码还是latin1的,所以还是可能出现乱码。建议修改一下,删除表重建,在开始就统一编码。
操作如下:
首先把MySQL的服务停掉 在运行窗口输入:net stop mysql
把服务器和客户端的字符集改成自己想用的字符集:GB2312
具体操作为:打开mysql安装目录下的myini.tet;
找到default-character-set,将其改为自己想用的字符集:GB2312或是utf8等……,要注意的是这里有两个default-character-set,用ctrl+f定位在文件最前面输入defaul就会找到,都要改过来;
重启MySQL服务器,在运行窗口输入:net start mysql
最重要的是一点是,到这里我们已经能够解决乱码问题了,可问题是我们依然还会出现乱码问题,这是因为我们现在的表被创建的时候用的是默认的字符集(latin1),所以这时候我们要把表删除,然后重建就可以了
操作如下:
首先把MySQL的服务停掉 在运行窗口输入:net stop mysql
把服务器和客户端的字符集改成自己想用的字符集:GB2312
具体操作为:打开mysql安装目录下的myini.tet;
找到default-character-set,将其改为自己想用的字符集:GB2312或是utf8等……,要注意的是这里有两个default-character-set,用ctrl+f定位在文件最前面输入defaul就会找到,都要改过来;
重启MySQL服务器,在运行窗口输入:net start mysql
最重要的是一点是,到这里我们已经能够解决乱码问题了,可问题是我们依然还会出现乱码问题,这是因为我们现在的表被创建的时候用的是默认的字符集(latin1),所以这时候我们要把表删除,然后重建就可以了
展开全部
gb2312可以直接改成gbk。gb2312是gbk的真子集。以后要注意开始就用gbk
追问
那我直接把字符集改成gbk的话,里面的中文内容不是都乱码了
追答
应该不会。你可以先复制一份数据库再去试一试比较保险
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
mysql_query("set names gbk");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |