开发交流

ECSHOP文件和数据库 UTF-8转成GBK、GBK转成UTF-8方法,亲测无报错

LYECS,LYECS+商城系统,多用户商城系统,开源商城系统 发布日期:2014-01-02   作者:老杨

老杨亲测无误,测试环境:

Apache Web Server
Version 2.2.8
PHP Script Language
Version 5.2.6
MySQL Database
Version 5.0.51b

另外,老杨将在14年的一季度上线使用老杨版EC框架的高端模板,期待关注。

1、下载帝国备份工具,复制upload到网站根目下,将数据库全部备份,如果你要将UTF8转成GBK,备份时选择GBK即可,反之则选则UTF-8

2、下载51EC转码工具,将文件全部转为你想要的格式,生成后打开data/config.php

修改:define('EC_CHARSET','utf-8');为你想要的格式,如果想改成GBK,则修改为:
define('EC_CHARSET','gbk');

3、进入生成的新格式EC源文件 下的帝国备份,恢复备份的数据

4、老杨测试时,清空缓存后报错
Notice: unserialize() [function.unserialize]: Error at offset 43 of 115 byte ……

解决方法:
打开includes/lib_common.php
找到:

 

复制内容到剪贴板
  1. $arr['invoice_type']         = emptyempty($arr['invoice_type']) ? array('type' => array(), 'rate' => array()) : unserialize($arr['invoice_type']);  
 


修改为:

复制内容到剪贴板
  1. $arr['invoice_type']         = emptyempty($arr['invoice_type']) ? array('type' => array(), 'rate' => array()) : unserialize(preg_replace('!s:(\d+):"(.*?)";!se'"'s:'.strlen('$2').':\"$2\";'"$arr['invoice_type'] ));  


然后大功告成。

热门文章

分类标签