2) 卸载掉MySQL4.1版本,并清除掉MySQL数据自身的系统库(库名MySQL)
3) 新安装MySQL5.0版本,并启动之
4) 从主控上,对这个MySQL服务器做检测与修复,重建所有MySQL帐号
5) 将原先的用户数据库,覆盖回去,即可运行
其中有几点需要特别注意:
1) MySQL的系统库mysql一定要移除,否则新装mysql5.0后会无法启动
2) 必须使用检测修复的方式来重建mysql上的所有用户名和密码
3) 回盖用户数据时候,千万不要覆盖MySQL的系统库mysql,
否则会启动失败
4) 要使用直接移动/var/lib/mysql/库名/数据库文件的方式
而不能使用mysqldump方式将数据库转成sql脚本
一旦做了sql脚本转换,几乎一定会出现乱码问题
而直接移动、复制数据库文件,就不存在乱码问题
mysql4.1和5.0的升级会平滑完成,所有字符集浏览全部正常
特别注意事项:主控数据库所使用的mysql版本不能升级
这是由于MySQL4.1以后字符集出现的问题MySQL默认都是latin1语言,而不是gb2312
如果要外部php网页正确得到插入数据或查询结果,简单的方法是在连接数据库成功后,在查询 *** 作前先执行
mysql_query("set character set gb2312")
这样将当前数据库连接字符集改为gb2312,这样就没有问题了。
而phpMyAdmin的新版本已经注意并兼容了字符集的问题,所以可以插入中文.
参考资料:http://cache.baidu.com/c?word=mysql%3B%D7%D6%B7%FB%3B%BC%AF&url=http%3A//www%2E88wiki%2Ecom/%3Faction%3Dshow%26id%3D65&p=856dd510cd904eac5da9c4710a159d&user=baidu
VARCHAR是MySQL中常用的数据类型,但其单位究竟是字符还是字节呢?
经过查阅,MySQL的 官方文档 给出了答案:
4.1及之后的版本,VARCHAR的单位是字符;4.1之前的版本,VARCHAR的单位是字节。(As of version 4.1 , MySQL interprets length specifications in character column definitions in character units . (Before MySQL 4.1, column lengths were interpreted in bytes .) This applies to CHAR, VARCHAR and the TEXT types.)
同时官方文档也提到,4.1及之后的版本以UTF-8作为预定义字符集。(VARCHAR is shorthand for CHARACTER VARYING. NATIONAL VARCHAR is the standard SQL way to define that a VARCHAR column should use some predefined character set. MySQL 4.1 and up uses UTF8 as this predefined character set .)
在 Go 语言中,是不能用 len 函数来统计字符串中的字符个数的,这是因为在 Go 中,字符串是以 UTF-8 为格式进行存储的,在字符串上调用 len 函数,取得的是字符串包含的 byte 的个数。
那么如何在Go语言中获取字符串中的字符个数呢?有下面几种方法:
测试发现速度最快的是 utf8.RuneCountInString()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)