MySQL设置的变量的也有范围 1、session范围 在数据库中查询命令中输入修改字符编码: character_set_client=utf8 character_set_cOnnection=utf8 set character_set_server=utf8 character_set_results=utf8 set character_set_database=utf8
只要保证以上四个采用的编码方式一样,就不会出现乱码问题。 输入show variables like ‘%char%’ 发现设置生效,可以看到字符集已经修改成都是utf8了。 !!!!!! 但是 !!!!!!!!这里有一个问题,当你重新打开一个命令窗口或重新打开数据库的时候,编码又会变为原来的latin1。服务器提取的时候中文还是乱码!! 【该方法不适合一劳永逸!】
2.2、global范围
mysql设置变量的范围默认是session范围。如果设置多个会话的字符集那么需要设置global范围: Set [global|session] variables … 如: set global character_set_database=utf8 set global character_set_server=utf8 此处省略几行,参照session设置 输入: show variables like ‘%char%’; 按理说应该变成utf8。但是没出现效果。 而且数据库重启的时候,你们发现设置global范围的值又变成latin1了。