新开发一个网站,最近再Linux centos7上进行了部署,但是发现,浏览器中中文输入,网页显示的是问好乱码,通过一个周末的连续调试和查找网上资料,问题终于找到,并解决。现将问题情况分析,及解决方法进行分享,希望能对同样遇到问题的人有用。
一、原因分析。
网上查询很多资料,大多数人分享经验把问题,归结到tomcat上,这也是我花了那么多时间。
还有部分人,分享是原代码编码有问题。或者是网页前端编码问题。
以上可能有人是这种情况,但是,我遇到的是数据编码格式不正确。
二、主要问题。
新发布项目,特别是新购买服务器,要想运行网站,目前大多数都需要新安装数据库。由于我购买的阿里云2核1G 服务器,所以我安装的是mysql 5.5,高版本一是不够稳定,二是太大,占资源太多。
新安装的数据库,默认编码是latin1,这种编码方式不稳定,对中文不兼容,(也有特例,当都是latin1编码,中文也识别),所以我们要把数据编码方式改为utf8。
三调试方法
1.查看当前sql系统变量,查看系统字符集,执行如下sql
sh