浏览 2854 次
锁定老帖子 主题:mysql乱码数据的修正
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-09-16
这个应用部署后一直这样将就着使用,后来因为需要在java程序中读取这个数据库中的数据,为简单起见,决定统一使用utf8编码。经过一番google和实际试验,采用以下步骤实现了旧的latin1数据转换成正常的utf8编码: 以下内容中db_old为旧的乱码数据库名,db_new为utf8的新数据名 1、创建新的数据库: CREATE DATABASE db_new CHARACTER SET utf8 COLLATE utf8_general_ci; 2、使用mysqldump导出旧的数据: mysqldump -u root --password=xxxx --default-character-set=latin1 db_old > db.dump 3、使用ultraedit或其它文本编辑工具修改db.dump,在最前面加下以下内容: SET NAMES utf8; SET CHARACTER_SET_CLIENT=utf8; SET CHARACTER_SET_RESULTS=utf8; 保存后退出编辑器 4、导入db.dump文件到新数据库: mysql -u root --password=xxxx db_new < db.dump 完成以上步骤后,使用mysql客户端工具连接到db_new之后,可以正常的读取和修改中文内容。 另外,使用utf8后,正确的备份数据库脚本应是: mysqldump -u root --password=xxxx --default-character-set=utf8 db_new > backup.dump 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |