日期:2014-05-16  浏览次数:21126 次

急!mysql 版本太低,数据全都烂掉了。乱码的问号(V4.1.20)
服务器的信息:
操作系统:linux
MySQL client version: 4.1.20
Used PHP extensions: mysql
phpMyAdmin - 2.9.1.1
服务器版本: 4.1.20
Protocol version: 10
服务器: Localhost via UNIX socket
用户: nnwf@localhost 
MySQL 字符集: cp1252 West European (latin1) 
变量:
character_set_client latin1 
character_set_connection utf8 
character_set_database latin1 
character_set_results latin1 
character_set_server latin1 
character_set_system utf8 
character_sets_dir /usr/share/mysql/charsets/ 
collation_connection utf8_unicode_ci 
collation_database latin1_swedish_ci 
collation_server latin1_swedish_ci 
concurrent_insert ON 
connect_timeout 5 
datadir /var/lib/mysql/ 

问题情况:使用phpmyadmin登录打开这个,里面的全都是乱码的问号,但是网页里面显示是正常的。

现在这个数据库里面的数据都是烂掉了。但是需要将这个网站的数据搬迁到另外一个网站,导出来的数据全都是乱码的。根本就用不了的。空间商也根本就不解决这个问题。国内的大部分主机的mysql版本都是最老最旧的,真奇怪,虽然他们安装mysql的时候就在这几个月。
如何解决啊。



------解决方案--------------------
set names gbk试试,不行就再试试其它 的字符集。


http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码
------解决方案--------------------
估计建表的时候用的是latin1引擎,而phpmyadmin用的字符集是utf8,建立连接时设的是utf8。
你可以试着在服务器端直接用latin1字符集导出。

------解决方案--------------------
mysqldump的指定--default-character-set=charset


使用charsetas默认字符集。参见5.10.1节,“数据和排序用字符集”。如果没有指定,mysqldump使用utf8。

------解决方案--------------------
探讨
服务器的信息:
操作系统:linux
MySQL client version: 4.1.20
Used PHP extensions: mysql
phpMyAdmin - 2.9.1.1
服务器版本: 4.1.20
Protocol version: 10
服务器: Localhost via UNIX socket
用户: nnwf@localhost
MySQL 字符集……

------解决方案--------------------
楼主注定要用phpmyadmin导出吗?如果不是。那直接用命令行导出。非常方便。
------解决方案--------------------
使用mysqldump试试看
------解决方案--------------------
用MYSQLDUMP导出,用支持UNICDOE的编辑软件打开,看看有无提示。
------解决方案--------------------
1 连接校对设置为utf8_general_ci
2 兼容模式选none
3 得到的sql文件用ultraedit打开即可。
这个文件应该是utf8编码。这个文件很容易导入最新版本的mysql库!

实在不行的话,最笨最管用的方法是:
让空间商把那些数据库文件压缩了发给你。
------解决方案--------------------
用支持UNICODE的软件打开备份文件,转换一下编码,再导入
------解决方案--------------------
你的WINDOWS下的DOS根本无法正常的支持UTF8.所以在WINDOWS的脚本中你只能设置字符集为GBK这样来MYSQLDUMP出备份。