mysql中文存入到数据库乱码

最近被数据库乱码搞爆了,来记录一下,网上很多方法就不说,其实就要做到编码一致就行了。我用的UTF-8编码,这里有几个地方要注意:

1.数据库编码选择UTF8,这里是指新建数据库的时候,开始用navicat现在不用了,用phpmyadmin,这个创建的时候是有选择的。

2.创建表的时候,编码方式也选择ut8

3. 字段也选择utf8

4.在数据库连接之后加一句:

$con = $mysql_connect($host,$user,$pw);
 mysql_set_charset('utf8', $con);   //设置当前连接的默认字符集

5.页面通过表单提交写入数据库的时候,要注意html的页面编码也是utf8,有时候浏览器会自动转化编码方式,造成写入的数据不是utf8编码,所以写入数据库就是乱码了。

为什么要加4里边的语句,也没搞明白,因为在加入之前已经把mysql服务器里边的字符集全都设置成utf8了。用php函数获取mysql端的默认字符集结果还是显示拉丁,所以尝试加入这句就解决了。

你可能感兴趣的:(mysql中文存入到数据库乱码)