php读取写入数据库乱码,如果你百度不能解决,看看这篇吧!!

  php项目是宕下来的,本人也是刚接触php,但是我要说的是这个php基本关系不大,这个乱码问题困扰了我好几天,百度了n多解决方案,发现就呵呵了全是抄来的,还不注明转载地址,也是服了!百度上的方法我几乎都试过,修改php.ini文件啦,修改my.ini文件啦,还有设置页面字符编码集,保持所有字符全为utf8呀我都是试过,发现还是不行。我觉不否认这些方法能解决正好碰到同样问题的朋友,但是呢,无良百度把重复的答案全排列在前几页。是因为mysql支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了,所以MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。但是我修改自己编码仍旧不能解决问题,留待以后细思。我是怎么解决的呢,我将编码设置为Latin1,就是数据库默认初始编码也就是所谓的ISO-8859-1编码。当然我的数据仍旧是utf-8编码。但是确实这么解决了中文读取写入的乱码问题。项目我不放上来了,如果不是和我一样遇到了封装类直接可以修改字符编码级可以去看看官方网站对这个方法的解读地址http://php.net/manual/zh/mysqli.set-charset.php,不想多说了,最后感谢水景一页的文章,地址http://php.net/manual/zh/mysqli.set-charset.php。至于代码等有空在上传。

猜你喜欢

转载自blog.csdn.net/breal/article/details/82842622