试试用mysqldump导出来看看里面的中文有没有乱码.
C:\Documents and Settings\Administrator>mysqldump -uroot -p bookdb > c:\\mydump.sql
Enter password: ********说明:-u 后跟用户名
   -p 表示要用密码
      bookdb 是数据库名
      c:\\mydump.sql 是备份文件的存放路径也可以试试使用图形工具mysql-front.

解决方案 »

  1.   

    什么叫没有测试呀?我就是用上面的mysqldump命令备份了一次,用文本打开,看过没有乱码才贴出来的.下面是我备份出来的mydump.sql文件-- MySQL dump 10.9
    --
    -- Host: localhost    Database: bookdb
    -- ------------------------------------------------------
    -- Server version 4.1.12-nt/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;
    /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;--
    -- Table structure for table `books`
    --DROP TABLE IF EXISTS `books`;
    CREATE TABLE `books` (
      `id` varchar(8) NOT NULL default '',
      `name` varchar(24) default NULL,
      `title` varchar(96) default NULL,
      `price` float default NULL,
      `yr` int(11) default NULL,
      `description` varchar(30) default NULL,
      `saleAmount` int(11) default NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=gbk;--
    -- Dumping data for table `books`
    --
    /*!40000 ALTER TABLE `books` DISABLE KEYS */;
    LOCK TABLES `books` WRITE;
    INSERT INTO `books` VALUES ('201','王芳','Java编程指南',33.75,1999,'让读者轻轻松松掌握Java语言',1000),('202','张丙','Weblogic技术参考',45.99,2002,'真的不错耶',2000),('203','孙艳','Oralcle数据库教程',40,2003,'关于Oracle的最畅销的技术书',2000),('204','大卫','从Oak到Java:语言的革命',20.75,1998,'很值得一看',2000),('205','阿明','Apache从入门到精通',50.75,2002,'权威的Apache 技术资料',2000),('206','洪军','Java与数据算法',54.75,2002,'权威的Java技术资料',2000);
    UNLOCK TABLES;
    /*!40000 ALTER TABLE `books` ENABLE KEYS */;/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
    /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
    /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
    /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
    你试过了没有,你试不出来可能是你的设置有问题,不要说我没有测试过.
      

  2.   

    你指定一个你操作系统支持的字符集[如gbk]导出就应该没什么问题了吧!mysqldump -uroot -p --opt --default-character-set=gbk  --result-file=E:\db_name.sql  db_name