个人观点phpmyadmin自2.6起加入了关于字符集的功能,但是始终都没有处理好
phpmyadmin在处理数据交换时使用了mbstring扩展库,这是不应该的。
所以,建议不要用phpmyadmin2.6以后的版本做数据导入导出的工作。除非你确切的知道结果是什么数据库是用来保存数据的。近来什么就出去什么,不能有任何失真,这是基本原则数据库引入字符集的概念是为了更好的处理非英语的语言文字。但是至少mysql到目前为止还没有完全实现这个目标。换句话说就是mysql依然不是宽字符可靠的数据库。
phpmyadmin在处理数据交换时使用了mbstring扩展库,这是不应该的。
所以,建议不要用phpmyadmin2.6以后的版本做数据导入导出的工作。除非你确切的知道结果是什么数据库是用来保存数据的。近来什么就出去什么,不能有任何失真,这是基本原则数据库引入字符集的概念是为了更好的处理非英语的语言文字。但是至少mysql到目前为止还没有完全实现这个目标。换句话说就是mysql依然不是宽字符可靠的数据库。
这个方法俺早知道了,因为条件限制从来没用过(虚拟主机),另外“存入的和读取的编码一致就不会再产生乱码”,很不具体,分很多环境的啊,现在我做的东西也不会出现乱码,但是都只是按网上提供的方法进行的操作,只是感觉很玄乎。
4.0及以前版本,单字节和多字节是可以混合存的
4.1及以后版本,是根据字段的编码来存的英文只要单字节就能解决,但是汉语,有abc,也有双字节和多字节
有88591也有gb2312,以及utf-8
4.1以后严格区分了这三种格式所以不能象以前那样偷懒也可以不出错
另外phpmyadmin在这个阶段没有处理好这个问题是问题根源所在
phpmyadmin是老外维护的,他们不大关心多字节问题
我们可以看到4.1以后phpmyadmin字节把编码变成utf-8就不管了,而国内多大多数还是用gb2312或gbk,所以这就出现了现在的问题,本来想改一下phpmyadmin的utf-8成gbk,支持的人太少就放弃了选择其他mysql客户端管理mysql也许是比较好的选择例如mysql-front