奇数个汉字乱码 本帖最后由 TENG0210 于 2009-12-08 15:18:49 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的连接字串是什么>?show variables like 'char%'; mysql> show variables like '%char%';+--------------------------+----------------------------------------+| Variable_name | Value |+--------------------------+----------------------------------------+| character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/local/mysql/share/mysql/charsets/ | +--------------------------+----------------------------------------+8 rows in set (0.00 sec)而且我已经set names utf-8但是还是出现了乱码 你在统一的字符集下重新插入记录set names utf8OR[mysqld]default-character-set=utf8再试试,如果在不同的字符集下插入记录,会出现你的问题 http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspxMySQL 中文显示乱码贴出你的 show create table xxx 语句。然后看一下哪个字段有问题。select col from xxx where ... *************************** 1. row *************************** Table: post_18Create Table: CREATE TABLE `post_18` ( `id` int(9) NOT NULL auto_increment, `usr` varchar(15) default NULL, `dateline` int(10) default NULL, `content` text, `attachment` varchar(255) default NULL, `reply` int(7) default '0', `upd_usr` varchar(15) default NULL, `upd_dateline` int(10) default NULL, `tid` int(8) default NULL, `stat` enum('NORMAL','DISABLE') default 'NORMAL', `upd_stat` enum('NORMAL','MODERATOR','ADMIN') default 'NORMAL', PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=45 DEFAULT CHARSET=utf81 row in set (0.00 sec)mysql> select content from post_18 where id=1\G*************************** 1. row ***************************content: ???????? ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????1 row in set (0.00 sec) 问题我已经解决咔咔 是我在我的配置文件中将utf8 写成了utf-8所以set names utf-8根本不好用现在ok了谢谢结贴 MySQL存储过程中使用复合语句总是出错 求问sql语句 请教大家:如何在java中执行postgreSql事务 jdbc连mysql的中文显示问题,和驱动有关吗?急!! mysql如何判断表的内容有更新 返回的JSON,有十万条,如何快速全部插入MYSQL? 求救!www.dk3.com的MySQL进不去! 数据库创建新用户和触发器 大量mysql bin日志删除不掉 求助sql问题 mysql 的datetime 和date能不能直接比较大小 数据库同步问题,发现一个新问题,请指点!!!!
show variables like 'char%';
+--------------------------+----------------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql/share/mysql/charsets/ |
+--------------------------+----------------------------------------+
8 rows in set (0.00 sec)而且我已经
set names utf-8
但是还是出现了乱码
set names utf8
OR
[mysqld]default-character-set=utf8再试试,
如果在不同的字符集下插入记录,会出现你的问题
MySQL 中文显示乱码
贴出你的 show create table xxx 语句。
然后看一下哪个字段有问题。select col from xxx where ...
Table: post_18
Create Table: CREATE TABLE `post_18` (
`id` int(9) NOT NULL auto_increment,
`usr` varchar(15) default NULL,
`dateline` int(10) default NULL,
`content` text,
`attachment` varchar(255) default NULL,
`reply` int(7) default '0',
`upd_usr` varchar(15) default NULL,
`upd_dateline` int(10) default NULL,
`tid` int(8) default NULL,
`stat` enum('NORMAL','DISABLE') default 'NORMAL',
`upd_stat` enum('NORMAL','MODERATOR','ADMIN') default 'NORMAL',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=45 DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
mysql> select content from post_18 where id=1\G
*************************** 1. row ***************************
content: ???????? ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
1 row in set (0.00 sec)
咔咔 是我在我的配置文件中将utf8 写成了utf-8
所以
set names utf-8根本不好用
现在ok了
谢谢
结贴