网站服务器数据库的字符集是
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
配置都相同啊,可是就是出现乱码。
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
配置都相同啊,可是就是出现乱码。
一个是:character set client utf8 latin1
另一个是:character_set_client | utf8
一样? 还有,第一个怎么会是两个值?
第二个你说的竖杠是分割符号
两个不都是utf8这个吗
MySQL 中文显示乱码
乱码就象这样,是:latin1_swedish_ci 瑞典语, 不区分大小写
这种,怎么样能换成中文哪
网站的读写正常。就是数据库里是乱码,以后如果换了服务器所有的努力就白费蜡、
character set client utf8 latin1
utf8 还是 latin1 ? 1. 说明哪台机有乱码?
2. 提供乱码这台机上的 show variables like 'char%';
3. 提供你的建表的 create table xxx
4. 提供一个字段的中文和它的存储代码 select colname, hex(colname) from xxx
网站的是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>
你笔记本上?
2. 提供乱码这台机上的 show variables like 'char%';
3. 提供你的建表的 create table xxx
4. 提供一个字段的中文和它的存储代码 select colname, hex(colname) from xxx
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,请加好友交流下可以吗?
| 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%'; 就是上面的
+-------+--------------------------------------------------
-----------------------------------------------------------
-----------------------------------------------------------
---------------------------------------------------+
| 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>
`id` int NOT NULL ,
`nicheng` varchar(50) NOT NULL ,
PRIMARY KEY (`id`)
)
;
`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
;
cs_nicheng` varchar(200) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '' ,
+-------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 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>
这些步骤在6楼的时候就已经告诉你了,可惜你并无兴趣提供。
set names 'latin1';后数据库仍然是:´ó·ù¶ÈÓëÔƹ²·É
select cs_nicheng from user where cs_id=32;后,在控制台显示的是空,什么都没有,数据库里仍然是刚才那个:´ó·ù¶ÈÓëÔƹ²·É
set names 'latin1';
select cs_nicheng from user where cs_id=32; 看一下结果如何?另外提供一下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';
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' 后应该可以看到中文
运行cmd
MySQL\MySQL Server 5.0\bin目录下
mysql.exe -u root
可是我这样连总是显示,unknown variable'//default-character-set=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看,管理很不方便啊。
别无选择。
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中进行修改。 需要把数据导出后,再修改表的字符集,然后再导入。最后,请认真阅读别人的回复。