mysql 怎么把数据库中的字符集gb2312编码改成gbk编码,而且不乱码

因为网站上有时候会输入一些生僻字进去,但是gb2312的范围太小,都不支持生僻字的,所以导致乱码了,所以我想把数据库编码改成gbk的,但是怕会乱码,因为数据库数据比较多,... 因为网站上有时候会输入一些生僻字进去,但是gb2312的范围太小,都不支持生僻字的,所以导致乱码了,所以我想把数据库编码改成gbk的,但是怕会乱码,因为数据库数据比较多,所以不知道有没有不产生乱码的方法来转换 展开
 我来答
令狐安天
2011-09-08 · TA获得超过543个赞
知道答主
回答量:441
采纳率:50%
帮助的人:231万
展开全部
我也遇见过此类情况,这是因为你刚开始安装的时候没把编码设置正确,你刚开始设置的是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),所以这时候我们要把表删除,然后重建就可以了
sishenzaixian
2011-09-08 · TA获得超过1242个赞
知道大有可为答主
回答量:5696
采纳率:42%
帮助的人:2278万
展开全部
gb2312可以直接改成gbk。gb2312是gbk的真子集。以后要注意开始就用gbk
追问
那我直接把字符集改成gbk的话,里面的中文内容不是都乱码了
追答
应该不会。你可以先复制一份数据库再去试一试比较保险
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
earyuoyt134
2011-09-08 · TA获得超过1091个赞
知道大有可为答主
回答量:1432
采纳率:0%
帮助的人:1274万
展开全部
mysql_query("set names gbk");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式