帝国论坛帝国网站管理系统交流区帝国CMS使用交流这种方法解决编码问题 如何? 【本版专题贴子】  
主题:这种方法解决编码问题 如何? [加入收藏夹]   

jgrich
用户头衔:举人

精华贴   :0
发贴数   :260
经验值   :874
注册时间:2007-01-20
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
这种方法解决编码问题 如何?
MySQL的默认编码是latin1,除非手动强制指定编码,否则默认创建的数据库编码都是使用MySQL默认的。当初Discuz v2.5时并没有考虑这些问题导致以后的升级出现了论坛显示乱码的现象,必须手工修改配置文件指定编码为gb2312才可,在网上看了很多文章都没有详细的讲述,并且都说很危险也很麻烦!后来亲身实践了一下发现还是相对简单的,下面将步骤分享出来!
1、导出数据库并强制为GBK
代码
mysqldump -u root -p --default-character-set=latin1 --set-charset=gbk --skip-opt databasename > databasename.sql


注:--default-characte-set ,以前数据库的编码类型,默认都是latin1
      --set-charset ,导出数据库的编码类型,可以指定为gbk、uft8或big5

2、创建一个编码方式为gbk的数据库
代码
CREATE DATABASE `newdatagbk` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;


3、将之前导出的数据库再导入到这个gbk编码的新数据库中
代码
mysql -u root -p --default-character-set=gbk -f newdatagbk < databasename.sql


/-------- 完成



网站建设、负载均衡设计实施,互联网商业模式创新服务
www.hxzdnet.com
2007-03-19 15:47:43 已设置保密 顶部 回复 引用 报告 编辑 删除

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1