有表 tb_nickname 结构如下:
CREATE TABLE `tb_nickname` (
`P_NickName` varchar(22) NOT NULL DEFAULT '',
PRIMARY KEY (`P_NickName`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk;
表中已有上万条记录,包含大量中文名称。
现在我们要把所有记录的字符集编码由 gbk 转换为 utf8 。
首先我们在新数据库 new_nickdb 中创建新表:
CREATE TABLE `tb_nickname` (
`P_NickName` varchar(22) NOT NULL DEFAULT '',
PRIMARY KEY (`P_NickName`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
之后我们导出旧表中的数据,为了保证数据正确导出,应当使用 --default-character-set 指定连接时的字符集为 gbk ,否则连接时会按照数据库默认的连接字符集进行转码,导致导出的数据出现大量的乱码。
mysqldump -uUser -pPass --no-create-info --default-character-set=gbk nickdb tb_nickname > /tmp/tb_nickname.sql
我们是否需要用 vi 打开 tb_nickname.sql ,并把其中的 SET NAMES gbk 手动改为 SET NAMES utf8 呢?答案是否定的,而且千万不要这么做!
起先我是按《深入浅出:MySQL 数据库开发、优化和管理维护》中的步骤来做的,上面说要进行修改,我不知道是否是因为他们的 MySQL 版本比较低——5.0 版本——我的是 5.1 ,这样修改之后是不会通过的。
最后将数据导入新库新表:
mysql --default-character-set=utf8 new_nickdb < tb_nickname.sql
订阅:
博文评论 (Atom)
使用 Charles 及旧版本 iTunes 下载旧版本 iOS APP
注意:吾爱破解论坛发布的一系列自动化下载软件,比如 iOS APP Store 旧版应用下载 5.1 什么的都不好用,目前只能手动通过 Charles 截留并修改旧版本 iTunes HTTPS 请求达到下载旧版本应用的目的。 从 iOS APP Store 下载的软件都是与用户...
-
作者:【美】乔治•埃里克•埃芬格 翻译:段跣 我坐在办公桌后,读着关于褐色鹈鹕生存环境的报告。就在这时,国务卿闯了进来。“总统先生,”他说,两只眼睛瞪得老大,“外星人来了!”就这句话,“外星人来了!”好像我知道该怎么做似的。 “知道了。”第一届总统任期刚...
-
用 EmEditor 三年了,主要是因为这个编辑器打开大文件快速,支持标签,支持正则表达式。最重要的一点是,它支持“保存、恢复并保持撤销信息”这个功能。 这个功能说起来很简单,就是在你关闭这个编辑器,下次再打开的时候,它会自动还原为上次关闭时的最后状态。对于我这个喜欢以文本记录东...
-
注意:吾爱破解论坛发布的一系列自动化下载软件,比如 iOS APP Store 旧版应用下载 5.1 什么的都不好用,目前只能手动通过 Charles 截留并修改旧版本 iTunes HTTPS 请求达到下载旧版本应用的目的。 从 iOS APP Store 下载的软件都是与用户...
没有评论:
发表评论