如何设置Mysql数据库默认字符集为GBK编码?
说到Mysql设置默认字符集为GBK,咱们其实可以从几个方面来弄:
-
更改服务器编码:打开你的终端,输入这条命令就能把MySQL服务器默认字符集设置成GBK编码了:
mysqld --character-set-server=gbk --collation-server=gbk_chinese_ci
这招特别管用,不过记得这是启动服务时的参数哦! -
调整已有数据库的编码:如果数据库已经创建了,没关系,你可以用下面这条命令帮它改成GBK:
mysql -u root -p alter database 数据库名 character set gbk collate gbk_chinese_ci;
不要忘了替换“数据库名”哈。 -
新建数据库时指定编码:新建数据库时,直接在建库语句中指定:
create database 数据库名 character set gbk collate gbk_chinese_ci;
这么一来,默认就是GBK编码啦。
顺带一提,关于修改PhpMyAdmin的服务器字符集,也是差不多套路,用:
set character_set_server=gbk;
不过,这条命令只对当前会话有效,要永久修改,得改配置文件才稳妥。

怎样把织梦网页和数据库编码从GBK/GB2312转换成UTF-8编码?
现在有好多网站都得支持UTF-8,特别是百度MIP啥的,直接不认GBK编码的页面,所以织梦网站从GBK到UTF-8的转变真是刻不容缓。下面教大家个靠谱的步骤!
-
先备份很重要!
千万别小看这一步!先用织梦后台工具或者直接数据库备份功能,把现在的GBK或GB2312编码的数据库整份备份好。再把网站所有文件也全都下载备份,本地收藏好,免得出岔子。 -
数据库编码转换技巧
经常有小伙伴会遇到SQL写的中文在数据库里显示“???”,那基本就是编码不对路子了。建议用MySQL的CONVERT函数来转编码,例如:
SELECT CONVERT(字段名 USING gbk) FROM 表名;
这样能把UTF-8转成GBK,或者反过来也可以。另外,设置MySQL连接编码为GBK,服务器会帮忙自动转码,简单粗暴! -
织梦备份数据的处理
织梦数据通常备份在/data/backupdata目录下,如果你想从UTF-8版转成GBK版,可以用帝国备份王(ebak2008)这个工具,上传到站点根目录后登录后台,强制转换编码,超级实用! -
代码端要注意的地方
PHP或其它语言操作数据库时,文件编码和数据库连接编码真的不能忘。建议PHP文件也用UTF-8保存,然后在代码里设置SET NAMES为对应编码,这样展示中文就是棒棒哒,不会出现乱码。 -
Oracle数据库字符集切换
不是Mysql的朋友也别灰心,我们也顺便说下Oracle数据库改字符集,从AL32UTF8改成ZHS16GBK也是大有讲究。基本步骤是:
- 关闭数据库(SHUTDOWN IMMEDIATE)
- 启动挂载模式(STARTUP MOUNT)
- 开启限制会话(ALTER SYSTEM ENABLE RESTRICTED SESSION)
- 修改字符集(ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK)
- 关闭再启动数据库
听上去复杂,分步骤来操作就没那么难啦!

相关问题解答
-
Mysql怎么永久设置默认字符集为GBK?
啊,这个其实挺关键的!set character_set_server=gbk;命令只对当前连接管用,别忘了想要永久生效,你得把MySQL的配置文件my.cnf里加上如下内容:
[mysqld] character-set-server=gbk collation-server=gbk_chinese_ci
保存后重启MySQL服务,Boom!默认全部变成GBK编码,超方便。 -
织梦CMS从GBK网站迁移到UTF-8要注意啥?
嘿,别急,关键是先备份!备份数据库和文件,避免丢数据。然后用帝国备份王工具强制转换编码,记得代码文件也改成UTF-8保存,PHP脚本里设置好数据库连接编码。还有,别忘了百度MIP啥的只认UTF-8,改完测试要仔细,不然你页面就惨了。 -
数据库中文显示“???”是为啥,咋解决?
这就典型的编码不统一惹的祸!有可能数据库字符集没设对,或者代码端没用对应编码。先确认数据库和数据表的字符集是不是你想要的,比如GBK或UTF-8;再确保你的连接代码设置了正确编码(SET NAMES);最后PHP文件编码也要对。统统配齐,乱码问题基本Say Goodbye! -
Oracle改字符集有哪些风险,要注意啥?
改Oracle数据库字符集可不是简单“改头换面”,有风险哦!改之前一定备份,防止数据损坏。改字符集期间数据库要限制访问(开启RESTRICTED SESSION),防止数据写入冲突。执行命令时方法要准,流程不对可能出现无法启动数据库。总之,改完后要测试数据完整性和应用稳定性,耐心点,稳妥点,这事才能圆满完成。
新增评论