Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已解决] 模拟将latin1字符集的数据库修改为gbk字符集

[复制链接]
enhand 发表于 2010-5-28 20:09:52 | 显示全部楼层 |阅读模式


1.导出test用户的表结构
[root@testdb ~]# mysqldump -uroot -p --default-character-set=gbk -d test > createtab.sql
-d 表示只导出表结构,不包含数据

2.手工修改createtab.sql中表结构定义中的字符集为新的GBK字符集

3.确保记录不再更新,导出所有记录
mysqldump -uroot -p --quick --no-create-info --extended-insert --default-character-set=latin1 test > data.sql
--quick 转储大表,一次一行地检索表中的行而不是检索所有行,并在输出前缓存在内存中
--no-create-info 不写重新创建每个转储表的create table语句
--extended-insert 使用包括几个values列表的多行insert语法,使转储文件更小,加速插入
--default-character-set=latin1 按照原有的字符集导出所有数据,保证中文可见,不会保存成乱码

4.打开data.sql,将SET NAMES latin1修改成SET NAMES gbk;

5.使用新的字符集GBK创建新的数据库
mysql> create database test_gbk default charset gbk;

6.创建表,执行createtab.sql
[root@testdb ~]# mysql -uroot -p test_gbk < createtab.sql

7.导入数据,执行data.sql
[root@testdb ~]# mysql -uroot -p test_gbk < data.sql

8.OK,搞定!

-- The End --
寒小雨 发表于 2010-5-28 23:08:01 | 显示全部楼层
用TOOLS工具不就可以了吗
回复

使用道具 举报

 楼主| enhand 发表于 2010-7-1 00:25:50 | 显示全部楼层
用TOOLS工具不就可以了吗
寒小雨 发表于 2010-5-28 23:08



unix 下面不方便使用。
回复

使用道具 举报

小煩 发表于 2010-7-12 01:06:18 | 显示全部楼层
我試過不能夠  放入數據庫後一樣是亂碼的....
另外請問有什麼tool? 我是在windows下轉換的
回复

使用道具 举报

 楼主| enhand 发表于 2010-9-20 23:15:15 | 显示全部楼层
我这样在完全没有问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-5-18 18:21 , Processed in 0.099781 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表