网页表单提交到mysql数据库里中文乱码

这几天做网页,在做一个提交表单的时候发现从表单提交的中文会在数据库中显示乱码,显然是编码的问题。

但是我mysql数据库里都是utf8_general_ci 源文件也是utf-8编码的。

在网上查找解决方法的时候,发现在php文件中连接数据库后要设置客户端和连接字符集,即:

mysql_query("set names utf8")
特别要注意的是这里是 ”utf8“  不是”utf-8" 这里很容易就顺手给加“-” ,但mysql数据库格式是utf8 没有中间的一横。

但这样还是没有解决问题,并且会在网页显示这样的警告:



即mysql_query扩展自PHP5.5.0起已废弃,并在版本7.7.0开始被移除。官网给出的解决方案是用mysqli或者pdo_mysql扩展来代替,之后我就把代码改成:

mysqli_query("set names utf8")

但是该过之后会出现这样的警告:

网页表单提交到mysql数据库里中文乱码_第1张图片

即mysqli_query扩展要有两个参数,所以正确的代码应该是:

mysqli_query($conn, "set names utf8")
现在再提交表单可以发现数据库里的中文已经不再是乱码了。

你可能感兴趣的:(mysql,php,数据库连接,表单提交,编码)