简单记录Cent OS服务器配置JDK+Tomcat+MySQL

2019-10-18 15:33:09王冬梅

| character_set_database   | utf8                       |  
| character_set_filesystem | binary                     |  
| character_set_results    | latin1                     |  
| character_set_server     | utf8                       |  
| character_set_system     | utf8                       |  
| character_sets_dir       | /usr/share/mysql/charsets/ |  
+--------------------------+----------------------------+ 
8 rows in set (0.00 sec) 

这些属性中,我们的目标其实就是把那些编码全都改为utf-8,而经过我测试下来,其中真正影响的值应该是character_set_databasecharacter_set_servercharacter_set_system这个三个值,尤其是第一个,如果它不是utf-8,无论再怎么样都是会出现问号的,而像上面这样的结果,中文其实也是显示正常的,这点我自己也觉得挺奇怪的还。
4 将数据库的编码修改为utf-8,执行如下语句


mysql>set names utf8; 

特别注意,在MySQL里,utf-8编码中间是没有连接符的,这个特别要注意!
5 退出MySQL


mysql>exit; 

6 编辑MySQL的配置文件


vim /etc/my.cnf 

7 将配置文件修改成如下情况:

[mysqld] 
datadir=/var/mysql 
socket=/var/lib/mysql/mysql.sock 
user=mysql 
default-character-set = utf8 
# Default to using old password format for compatibility with mysql 3.x 
# clients (those using the mysqlclient10 compatibility package). 
old_passwords=1 
 
# Disabling symbolic-links is recommended to prevent assorted security risks; 
# to do so, uncomment this line: 
# symbolic-links=0 
 
[mysqld_safe] 
log-error=/var/log/mysqld.log 
pid-file=/var/run/mysqld/mysqld.pid 

其实就是加了下面这一句:

default-character-set = utf8 

8 重启MySQL


/etc/init.d/mysqld start 

这样配置下来,数据库乱码问题就可以解决了。
当然数据库乱码也不仅仅是数据库配置问题,还可能由于页面文件本身的编码,页面文件传给程序时的编码等地方需要注意,目前的解决方法其实就是统一成utf-8!