mysql远程编码问题

1.在my.ini里面改 
default-character-set=gbk 
default-character-set=utf8 


重启服务,然后在mysql client执行下列命令查看,如果有这样的结果就OK 
mysql> show variables like 'chara%'; 
+--------------------------+---------------------------------------------------- 
-----+ 
| Variable_name            | Value 
     | 
+--------------------------+---------------------------------------------------- 
-----+ 
| character_set_client     | gbk 
     | 
| character_set_connection | gbk 
     | 
| character_set_database   | utf8 
     | 
| character_set_filesystem | binary 
     | 
| character_set_results    | gbk 
     | 
| character_set_server     | utf8 
     | 
| character_set_system     | utf8 
     | 
| character_sets_dir       | c:\Program Files\MySQL\MySQL Server 5.0\share\chars 
ets\ | 
+--------------------------+---------------------------------------------------- 
-----+ 
8 rows in set (0.00 sec) 

2.连接文件要为url="jdbc:mysql://localhost:3306/MySql?useUnicode=true&characterEncoding=utf-8" 

页面的jsp编码也要为utf-8 

这样设置之后,不管是在mysql client进行插入数据,还是从jsp,java后台插入数据都不会出现乱码了,查看也不会出现乱码了。 

还有如果你之前,建有表之类的,请先删除表在重新建表,务必要保持表的编码和 character_set_database   | utf8的一样,或改变原表的编码,用命令 
mysql> show create table person; 
+--------+--------------------------------------------------------------------- 
------------------------------------------------------------------------------- 
-----------------------------------------------------------+ 
| Table  | Create Table 

                                                           | 
+--------+--------------------------------------------------------------------- 
------------------------------------------------------------------------------- 
-----------------------------------------------------------+ 
| person | CREATE TABLE `person` ( 
  `id` int(10) NOT NULL, 
  `name` varchar(20) NOT NULL, 
  `sex` varchar(8) default NULL, 
  `email` varchar(30) default NULL, 
  PRIMARY KEY  (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 | 
+--------+--------------------------------------------------------------------- 
------------------------------------------------------------------------------- 
-----------------------------------------------------------+ 
1 row in set (0.00 sec) 
可以查看表的编码

posted @ 2013-09-13 16:15  暖流  阅读(219)  评论(0编辑  收藏  举报