Mysql 数据库4.0 迁移至5.0 乱码问题
Mysql 数据库低级版本 迁移至高级版本 乱码问题
案例:某网站迁移至其他服务器,该网站为php+mysql 4.0 字符集编码为 latin1,迁移后mysql数据库为 5.0版本
网站文件全部拷贝,数据库文件通过 sqlyog 工具 导出为sql文件备份,建立新数据库后,执行导出的sql文件,还原数据库,
结果网站中文显示为乱码或者“?”号,sqlyog查看表时显示也为乱码。
解决措施:
1、查看网站php文件<Head>中设置的CharSet=gb2312;
2、建立数据库时选择数据库编码为 gb2312;
3、将导出的sql备份文件用EditPlus等文本工具打开,并另存为 gb2312编码格式。
4、将修改编码格式后的sql备份文件在 sqlyog中执行,还原数据库,此时数据库编码及存储的数据的编码就为gb2312了。
5、修改网站php文件中的数据访问文件,在执行查询前,加上一条语句 “mysql_query("set names 'utf8'");”
建议:
网站编码尽量采用utf-8编码。