项目中要将抓取一些网页内容保存到mysql数据库中,当抓取的内容中包含中文时,在控制台打印出来的中文是正常显示的,但存入数据库表中时,显示乱码。
进入mysql命令行,执行以下命令:show variables like "%char%";发现character_set_server是latin1的,要改成utf8,可以执行以下命令:
set character_set_server='utf8';但是,character_set_server如果默认为latin1,要永久更改,用set命令是行不通的,而更改my.ini文件,也没有效果。 永久更改方案:在MySQL的安装文件中进入bin目录下,双击MySQLInstanceConfig.exe,重新走一遍server的配置,但需要注意的是,在Character Set环节,要选择第三项,character选择utf8,(第一项是默认server字符集为latin1)。 这时向数据库中存入数据库时,中文显示正常,从网页中显示表数据时,中文也正常。