昨天用mysql发现前台后台都乱码。然后新建了一张表发现后台不乱码了,执行show variables like 'character%';语句发现字符编码如下
+--------------------------+-------------------------------------------+
| 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 | latin1 |
| character_set_system | utf8 |
|
然后发现如下编码也可以插入中文
+--------------------------+-------------------------------------------+
| Variable_name | Value |
+--------------------------+-------------------------------------------+
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | gbk |
| character_set_server | latin1 |
| character_set_system | utf8
到现在数据库后台插入中文问题已经解决。
后来却发现在前台插入中文的时候又出现乱码问题。在连接数据库的时候用的语句是
jdbc:mysql://localhost/bbs_by_luck?user=root&password=371525&useUnicode=true&characterEncoding=gbk
这样即可链接。如果还不行就把gbk换成gb2312 utf-8。分别试试