急!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。
------解决方案--------------------
------解决方案--------------------楼主注定要用phpmyadmin导出吗?如果不是。那直接用命令行导出。非常方便。
------解决方案--------------------使用mysqldump试试看
------解决方案--------------------用MYSQLDUMP导出,用支持UNICDOE的编辑软件打开,看看有无提示。
------解决方案--------------------1 连接校对设置为utf8_general_ci
2 兼容模式选none
3 得到的sql文件用ultraedit打开即可。
这个文件应该是utf8编码。这个文件很容易导入最新版本的mysql库!
实在不行的话,最笨最管用的方法是:
让空间商把那些数据库文件压缩了发给你。
------解决方案--------------------用支持UNICODE的软件打开备份文件,转换一下编码,再导入
------解决方案--------------------你的WINDOWS下的DOS根本无法正常的支持UTF8.所以在WINDOWS的脚本中你只能设置字符集为GBK这样来MYSQLDUMP出备份。