MYSQL版本是5.1,数据库是latin1的,表是latin1的,我用命令行读取某中文列,正常显示,但在navicat里读取就是乱码,网上的方法看了个遍,都是让设set names ,还有show variables like 'character_set_%'。但我无论怎么设,都出来的乱码。用NAVICAT的导出功能,只有导出成TXT,编码设置成1252(latin1)才是正常中文,其它设置、其它格式(EXCEL,XML,ACCESS)都是乱码。
求助,现在就是要能在EXCEL或者MSSQL里看到正常的中文

解决方案 »

  1.   

    show variables like 'character_set_%' 贴结果
    set names latin1试试
      

  2.   

    character_set_client latin1
    character_set_connection latin1
    character_set_database latin1
    character_set_filesystem binary
    character_set_results latin1
    character_set_server latin1
    character_set_system utf8
    character_sets_dir D:\Program Files\MySQL\MySQL Server 5.1\share\charsets\我在NAVICAT里和命令行里输出的这个结果是一致的,但SELECT的结果就不一致。
      

  3.   

    NAVICAT里的编码格式是UTF8的么。
      

  4.   

    找找navicat里头,是否有字体显示的设置
      

  5.   

    在你的NAVICAT 试试set names 'gbk';
    set names 'latin1';
    set names 'utf8';这三种分别试试。 最担心的是你的表中存储的具体什么。
      

  6.   

    http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  7.   

    我又看了一下,是这样的在navicat里,SET NAMES后写GBK和GB2312出来的全是??。写LATIN1,出来的是方块字,写utf8,出来的是Â̾°¼ÑÔ·这样的,只有先设成utf8,再把结果按latin1导出成txt文件,才会显示中文,其它导出都是乱码。
      

  8.   

    在命令行下,显示正常。如果能通过命令行的方式导出成EXCEL文件,也行
      

  9.   

    你用MYSQLDUMP导出表,用WORD之类的打开此SQL文件,看看有什么提示,
    应该是字符集不统一引起的
      

  10.   

    示例:
     mysqldump   导出指定行
    mysqldump -uroot -p dbname tablename --where "tid=1"> a.sql
      

  11.   


    你可以直接 
    select * from table1 INTO OUTFILE 'c:/test/xxxx.csv'
      

  12.   

    如果导出单表
    打开表,选导出,选高级别-编码936GBK试试
      

  13.   

    select * from tablename into outfilt '.f:\..\test.xls'