我在某个空间商里租用了空间,安装了joomla,数据库是mysql,字符集当时是utf8_general_ci,后来没继费停了,过几天继费重新启用后,数据库的字符集是latin1_swedish_ci了,里面存储的中文全成了乱码。我现在手头上没有备份,不知道有没有办法修复?

解决方案 »

  1.   

    SET NAMES utf8试试
    用MYSQLDUMP能否导出数据?用WORD之类的软件打开,
      

  2.   

    set names utf8应该能用。
      

  3.   

    set names 先试一下。最好按下贴中的方法贴出你的检查结果。http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  4.   

    服务器级,数据库级,都是utf8,
    表级,字段级都是latin1_swedish_ci
      

  5.   

    用MYSQLDUMP能否导出数据?用WORD之类的软件打开,有提示没有?
      

  6.   

    先贴出你的检查结果。与mysqldump 无关。
      

  7.   

    用上述数据, `address`的内容'Î÷°²',是否知道中文是什么?
      

  8.   


    显然你的表中的编码根本不是UTF8,是latin1或者gbk/gb2312
    按#3楼的方法贴出你的检查结果。
      

  9.   

    检查结果如下:
    SQL 查询: show create table cupost; 
    行数: 1 Table  Create Table  
    cupost CREATE TABLE `cupost` (
     `id` int(6) unsigned zerofill NOT NULL AUTO_INCREMENT,
     `sub` varchar(16) DEFAULT NULL,
     `comp` varchar(50) DEFAULT NULL,
     `phone` varchar(18) DEFAULT NULL,
     `address` varchar(66) DEFAULT NULL,
     `note` text,
     `time` datetime DEFAULT NULL,
     `name` varchar(30) DEFAULT NULL,
     `email` varchar(30) DEFAULT NULL,
     PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=266 DEFAULT CHARSET=latin1 SQL 查询: show full columns from cupost; 
    行数: 9 Field  Type  Collation  Null  Key  Default  Extra  Privileges  Comment  
    id int(6) unsigned zerofill NULL NO PRI NULL auto_increment select,insert,update,references   
    sub varchar(16) latin1_swedish_ci YES   NULL   select,insert,update,references   
    comp varchar(50) latin1_swedish_ci YES   NULL   select,insert,update,references   
    phone varchar(18) latin1_swedish_ci YES   NULL   select,insert,update,references   
    address varchar(66) latin1_swedish_ci YES   NULL   select,insert,update,references   
    note text latin1_swedish_ci YES   NULL   select,insert,update,references   
    time datetime NULL YES   NULL   select,insert,update,references   
    name varchar(30) latin1_swedish_ci YES   NULL   select,insert,update,references   
    email varchar(30) latin1_swedish_ci YES   NULL   select,insert,update,references   
    SQL 查询: show variables like 'char%'; 
    行数: 8 Variable_name  Value  
    character_set_client utf8 
    character_set_connection utf8 
    character_set_database latin1 
    character_set_filesystem binary 
    character_set_results utf8 
    character_set_server latin1 
    character_set_system utf8  
      

  10.   


    我想是不是要先把从phpMyAdmin里导出的SQL文本把乱码弄好,再导入才好。不过我不知道有什么办法能乱码转换好。