网站服务器数据库的字符集是
character set client  utf8  latin1  
character set connection  utf8  latin1  
character set database  latin1  latin1  
character set filesystem  binary  binary  
character set results  utf8  latin1  
character set server  latin1  latin1  
character set system  utf8  utf8  
character sets dir  D:\mysql\share\charsets\  D:\mysql\share\charsets\  
collation connection  utf8_general_ci  latin1_swedish_ci  
collation database  latin1_swedish_ci  latin1_swedish_ci  
collation server  latin1_swedish_ci  latin1_swedish_ci  
这样的我的电脑上面是
+--------------------------+---------------------------------------------------------+
| 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                                                    |
| character_sets_dir       | C:\Program Files\MySQL\MySQL Server 5.1\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set
配置都相同啊,可是就是出现乱码。

解决方案 »

  1.   

    没看出来一样!
    一个是:character set client  utf8  latin1
    另一个是:character_set_client    | utf8 
    一样?     还有,第一个怎么会是两个值?
      

  2.   

    第一个的第二个值是服务器的全局变量,我的是虚拟主机,第一个值是我用的变量
    第二个你说的竖杠是分割符号
    两个不都是utf8这个吗
      

  3.   

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

  4.   

    ¹¤»á¾­·Ñ¸üºÃ
    乱码就象这样,是:latin1_swedish_ci    瑞典语, 不区分大小写  
    这种,怎么样能换成中文哪
    网站的读写正常。就是数据库里是乱码,以后如果换了服务器所有的努力就白费蜡、
      

  5.   

    你是哪个中有乱码? 网站上还是你本机?你网站的的字符集是什么?
    character set client  utf8  latin1  
    utf8 还是 latin1 ? 1. 说明哪台机有乱码?
    2. 提供乱码这台机上的 show variables like 'char%';
    3. 提供你的建表的 create table xxx 
    4. 提供一个字段的中文和它的存储代码 select colname, hex(colname) from xxx
      

  6.   

    你是通过命令行看到的乱码?你在查询前set names gbk;再查询看是不是乱码。
      

  7.   

    不是命令行,是,打开数据库,表里中文都是乱码,而输出在网站上的内容却正常,set names gbk;也用啦,就是不行,是否是,服务器的字符集是latin1,所以在哪里都是这个,不能改变啊
    网站的是gb2312正常存储,显示,但是打开数据库就是乱码,数据库里是乱码,其他都正常。
    Navicat for MySQL用这个打开的
    是我的电脑上有乱码
    mysql> show variables like 'char%'; +--------------------------+-------------------------------------------+
    | Variable_name            | Value                                     |
    +--------------------------+-------------------------------------------+
    | character_set_client     | utf8                                      |
    | character_set_connection | utf8                                      |
    | character_set_database   | gbk                                       |
    | character_set_filesystem | binary                                    |
    | character_set_results    | utf8                                      |
    | character_set_server     | latin1                                    |
    | character_set_system     | utf8                                      |
    | character_sets_dir       | D:\MySQL\MySQL Server 5.0\share\charsets\ |
    +--------------------------+-------------------------------------------+
    8 rows in setmysql> 
      

  8.   

    建议你能直接回答以下问题,还不是让别来猜。另外直接用mysql.exe 命令行工具去连,不要通过第三方的图形工具(不方便分析)1. 说明哪台机有乱码?
     你笔记本上?
    2. 提供乱码这台机上的 show variables like 'char%';
    3. 提供你的建表的 create table xxx 
    4. 提供一个字段的中文和它的存储代码 select colname, hex(colname) from xxx
      

  9.   

    我的网站是租用的虚拟主机,主机上有web,有数据库,数据库里的中文就是乱码,但是网页存,取都正常。只是数据库打开里面有中文内容的字段,中文内容是乱码,字段名是英文,这个不错,只是内容是乱码。高级管理中查看字符集变量的设置是上面的内容如下:
    character set client        utf8                  latin1  
    character set connection    utf8                  latin1  
    character set database      latin1                latin1  
    character set filesystem    binary                binary  
    character set results       utf8                  latin1  
    character set server        latin1                latin1  
    character set system        utf8                  utf8  
    character sets dir  D:\mysql\share\charsets\      D:\mysql\share\charsets\  
    collation connection        utf8_general_ci       latin1_swedish_ci  
    collation database          latin1_swedish_ci     latin1_swedish_ci  
    collation server            latin1_swedish_ci     latin1_swedish_ci  
    第一排是我的数据库用的,第二排是整个服务器的全局变量值,因为服务器上有许多虚拟主机,所有有全局变量和分配给每个人的变量,所以有二套值,其他就不知道啦,我用Navicat for MySQL连上服务器的数据库,也是乱码,我的电脑上的数据库设置是mysql> show variables like 'char%'; +--------------------------+-------------------------------------------+ 
    | 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                                      | 
    | character_sets_dir      | D:\MySQL\MySQL Server 5.0\share\charsets\ | 
    +--------------------------+-------------------------------------------+ 
    8 rows in set mysql> 
    其间有查看网上说的许多,我电脑上my.ini中改变了好多种,utf8、latin1 gb2312、gbk都用啦,就是乱码,不能改好。
    高手们请指点。ACMAIN_CHM有qq吗,我可以将数据库备份发给你,在你的电脑上试试。我qq是:695271961,请加好友交流下可以吗?
      

  10.   

    通过你的工具,连到你的服务器上2. 提供乱码这台机上的 show variables like 'char%';
      

  11.   

    mysql> show variables like 'char%'; +--------------------------+-------------------------------------------+ 
    | 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                                      | 
    | character_sets_dir      | D:\MySQL\MySQL Server 5.0\share\charsets\ | 
    +--------------------------+-------------------------------------------+ 
    8 rows in set 
    这个是Navicat for MySQL连到服务器上的工具
    show variables like 'char%'; 就是上面的
      

  12.   

    3. 提供你的建表的 create table xxx 
      

  13.   

    mysql> show create table ttt;
    +-------+--------------------------------------------------
    -----------------------------------------------------------
    -----------------------------------------------------------
    ---------------------------------------------------+
    | Table | Create Table
                                                       |
    +-------+--------------------------------------------------
    -----------------------------------------------------------
    -----------------------------------------------------------
    ---------------------------------------------------+
    | ttt   | CREATE TABLE `ttt` (
      `ylid` int(11) NOT NULL AUTO_INCREMENT,dWndName' killed
      `ylfl` varchar(20) DEFAULT NULL,E PSE Service' killed
      `ylmc` varchar(20) DEFAULT NULL,
      `yllj` varchar(200) DEFAULT NULL,
      `yldj` varchar(2) DEFAULT NULL,
      PRIMARY KEY (`ylid`)
    ) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8 |
    +-------+--------------------------------------------------
    -----------------------------------------------------------
    -----------------------------------------------------------
    ---------------------------------------------------+
    1 row in set (0.06 sec)x
    process OnlineStatus.ex (764) - '.NET-BroadcastEventWindow.
    mysql>
      

  14.   

    create table xxx 是指的字符集吗,我上面说的几种都用过啦,都不行
      

  15.   

    或者是这个CREATE TABLE `NewTable`
      

  16.   

    CREATE TABLE `NewTable` (
    `id`  int NOT NULL ,
    `nicheng`  varchar(50) NOT NULL ,
    PRIMARY KEY (`id`)
    )
    ;
      

  17.   

    贴出你有问题的表的 show create table xxxx 语句。
      

  18.   

    CREATE TABLE `NewTable` (
    `cs_id`  int(6) NOT NULL AUTO_INCREMENT ,
    `cs_username`  varchar(200) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '' ,
    `cs_mima`  varchar(20) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '' ,
    `cs_nicheng`  varchar(200) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '' ,
    `cs_email`  varchar(30) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '' ,
    `cs_zhenshiname`  varchar(100) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '' ,
    `cs_shenfenzhengcode`  varchar(20) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '0' ,
    `cs_sex`  varchar(6) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '' ,
    `cs_isqiye`  varchar(6) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '' ,
    `cs_vip`  int(4) NOT NULL DEFAULT 0 ,
    `adddate`  datetime NOT NULL DEFAULT '0000-00-00 00:00:00' ,
    `cs_lastlogin`  datetime NOT NULL DEFAULT '0000-00-00 00:00:00' ,
    `cs_logins`  int(4) UNSIGNED ZEROFILL NOT NULL DEFAULT 0000 ,
    `cs_tuiguang`  varchar(200) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL ,
    `cs_tuiguangshu`  int(4) UNSIGNED ZEROFILL NOT NULL DEFAULT 0000 ,
    `cs_yuanbao`  double UNSIGNED ZEROFILL NOT NULL DEFAULT 0000000000000000000000 ,
    `cs_touxiang`  varchar(50) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL ,
    `cs_shangdianname`  varchar(200) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL ,
    `cs_sfztupian`  varchar(50) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '' ,
    `cs_yanzheng`  int(4) UNSIGNED ZEROFILL NOT NULL DEFAULT 0000 ,
    `cs_zxtime`  double(10,3) UNSIGNED ZEROFILL NOT NULL DEFAULT 000000.000 ,
    `cs_isno`  varchar(8) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT 'ÀëÏß' ,
    `cs_tel`  varchar(20) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '0' ,
    `cs_haoping`  int(4) UNSIGNED ZEROFILL NOT NULL DEFAULT 0000 ,
    `cs_chaping`  int(4) UNSIGNED ZEROFILL NOT NULL DEFAULT 0000 ,
    `cs_qq`  varchar(30) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL ,
    PRIMARY KEY (`cs_id`, `cs_nicheng`)
    )
    ENGINE=MyISAM
    DEFAULT CHARACTER SET=gbk COLLATE=gbk_chinese_ci
    AUTO_INCREMENT=37
    CHECKSUM=0
    ROW_FORMAT=DYNAMIC
    DELAY_KEY_WRITE=0
    ;
      

  19.   

    有问题的是这个:
    cs_nicheng`  varchar(200) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '' , 
      

  20.   

    show create table user;
     
    +-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Table | Create Table                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
    +-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | user  | CREATE TABLE `user` (
      `cs_id` int(6) NOT NULL auto_increment,
      `cs_username` varchar(200) character set latin1 NOT NULL default '',
      `cs_mima` varchar(20) character set latin1 NOT NULL default '',
      `cs_nicheng` varchar(200) character set latin1 NOT NULL default '',
      `cs_email` varchar(30) character set latin1 NOT NULL default '',
      `cs_zhenshiname` varchar(100) character set latin1 NOT NULL default '',
      `cs_shenfenzhengcode` varchar(20) character set latin1 NOT NULL default '0',
      `cs_sex` varchar(6) character set latin1 NOT NULL default '',
      `cs_isqiye` varchar(6) character set latin1 NOT NULL default '',
      `cs_vip` int(4) NOT NULL default '0',
      `adddate` datetime NOT NULL default '0000-00-00 00:00:00',
      `cs_lastlogin` datetime NOT NULL default '0000-00-00 00:00:00',
      `cs_logins` int(4) unsigned zerofill NOT NULL default '0000',
      `cs_tuiguang` varchar(200) character set latin1 default NULL,
      `cs_tuiguangshu` int(4) unsigned zerofill NOT NULL default '0000',
      `cs_yuanbao` double unsigned zerofill NOT NULL default '0000000000000000000000',
      `cs_touxiang` varchar(50) character set latin1 default NULL,
      `cs_shangdianname` varchar(200) character set latin1 default NULL,
      `cs_sfztupian` varchar(50) character set latin1 NOT NULL default '',
      `cs_yanzheng` int(4) unsigned zerofill NOT NULL default '0000',
      `cs_zxtime` double(10,3) unsigned zerofill NOT NULL default '000000.000',
      `cs_isno` varchar(8) character set latin1 NOT NULL default 'ÀëÏß',
      `cs_tel` varchar(20) character set latin1 NOT NULL default '0',
      `cs_haoping` int(4) unsigned zerofill NOT NULL default '0000',
      `cs_chaping` int(4) unsigned zerofill NOT NULL default '0000',
      `cs_qq` varchar(30) character set latin1 default NULL,
      PRIMARY KEY  (`cs_id`,`cs_nicheng`)
    ) ENGINE=MyISAM DEFAULT CHARSET=gbk |
    +-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set
    mysql> 
      

  21.   

    `cs_nicheng` varchar(200) character set latin1 NOT NULL default '',现在你先执行一下 set names 'latin1';然后再 select cs_nicheng from user where cs_id=??? 看中文显示如何?
    这些步骤在6楼的时候就已经告诉你了,可惜你并无兴趣提供。
      

  22.   

    select cs_nicheng from user where cs_id=??? 后面的???是id号吧 ,我选了32号,数据库原来的内容是:´ó·ù¶ÈÓëÔƹ²·É,
    set names 'latin1';后数据库仍然是:´ó·ù¶ÈÓëÔƹ²·É
    select cs_nicheng from user where cs_id=32;后,在控制台显示的是空,什么都没有,数据库里仍然是刚才那个:´ó·ù¶ÈÓëÔƹ²·É
      

  23.   

    用mysql.exe 命令行工具连上去看一下。
    set names 'latin1';
    select cs_nicheng from user where cs_id=32; 看一下结果如何?另外提供一下select cs_nicheng,hex(cs_nicheng) from user where cs_id=32; 并告诉我这个字段的中文实际是什么?
      

  24.   

    mysql> select cs_nicheng,hex(cs_nicheng) from user where cs_id=32;
    +------------+-----------------+
    | cs_nicheng | hex(cs_nicheng) |
    +------------+-----------------+
    | ´ó·ù¶È     | B4F3B7F9B6C8    |
    +------------+-----------------+
    1 row in set
    实际是中文:大幅度 
    命令行是这样的吗,运行cmd 到MySQL\MySQL Server 5.0\bin下命令:mysql.exe set names 'latin1'; 
      

  25.   

    mysql> set names 'latin1';
    Query OK, 0 rows affected (0.00 sec)mysql> select cs_nicheng from user where cs_id=32;
    ERROR 1146 (42S02): Table 'csdn.user' doesn't exist
    mysql>你试一下。 原因清楚了,你的汉字是以latin1 存储的。 
    你在mysql.exe 中set names 'latin1' 后应该可以看到中文
      

  26.   

    是这样连的吗?
    运行cmd
    MySQL\MySQL Server 5.0\bin目录下
    mysql.exe -u root
    可是我这样连总是显示,unknown variable'//default-character-set=latin1'
      

  27.   

    对ACMAIN_CHM的耐心解答非常感谢,在cmd下 不用set names 'latin1'; 只用
    select cs_nicheng from user where cs_id=32; 就出来正常的汉字啦,用啦set names 'latin1';以后select cs_nicheng from user where cs_id=32;出来的也是汉字,但是我的目的还是没达到,我刚开始就说啦,数据库的读写都能正常显示,就是在数据库里不能,是乱码,上面的几步无论用不用set names 'latin1';数据库里的中文始终都是乱码,我的目的是想让数据库里没有乱码,用Navicat for MySQL打开,数据表很多,数据也很多,如果都用cmd看,管理很不方便啊。
      

  28.   


    别无选择。
    1。 你在数据库用latin1 存储了中文GB2312编码。
    2。你的 Navicat for MySQL 需要找到字符设置的地方,否则它会以latin1 来解析。
    3。你的程序中因为是仍以'latin1' 来读取并,所以正常4. 建议你读一下http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码  (发现回复你的东西,总是要回复上个几遍,你才会去看。)
    5. 一般来说,汉字你应该用 gb2312 / gbk 或者 utf8 来实现。6。 字符集无法直接在MYSQL中进行修改。 需要把数据导出后,再修改表的字符集,然后再导入。最后,请认真阅读别人的回复。