文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>mysql字符转换时的注意事项

mysql字符转换时的注意事项

时间:2009-03-18  来源:huifeideluotuo

平时我们在字符转换的时候,经常是这么做的:
ALTER TABLE `t1` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

这种做法在某些时候是不能工作的,我们来看一个例子:
1, CREATE TABLE `t1` (`c1` text NOT NULL) ENGINE=MyISAM DEFAULT CHARSET=latin1;

2, ALTER TABLE `t1` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

3, SHOW CREATE TABLE `t1`\G
*************************** 1. row ***************************
TABLE: t1
CREATE TABLE: CREATE TABLE `t1` (
`c1` mediumtext NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1 row IN SET (0.01 sec)

此时我会发现表结构会有所变化,从 text 变成 mediumtext!!!
这样是不能达到我们的目的的。

我们可以采用一个perl脚本来完成这些事情,在适当的时候还能保留全文索引,下载地址如下:
wget http://www.pablowe.net/convert_charset

脚本执行如下:
./convert_charset -u root -p 1234  --collate utf8_general_ci -d test --tables t1

注释如下
root    数据库用户
1234    数据库密码

原文链接地址如下:
http://www.mysqlperformanceblog.com/2009/03/17/converting-character-sets/
相关阅读 更多 +
排行榜 更多 +
搞怪达人

搞怪达人

休闲益智 下载
奶酪

奶酪

游戏工具 下载
匿名爱人游戏

匿名爱人游戏

冒险解谜 下载