一、PHP中文乱码问题
关于这个问题,网上有很多方法,也都很有效。这里提到的一点是,关于mysql和mysqli对于中文查询结果显示的影响。
1、mysql和mysqli的区别
- mysql是非持续连接函数,每次连接都打开一个连接函数;而mysqli可以多次连接使用同一进程。
- mysql是面向过程的,使用方式:
$conn = mysql_connect('localhost', 'user', 'password'); //连接mysql数据库 mysql_select_db('data_base'); //选择数据库 $result = mysql_query('select * from data_base');//第二个可选参数,指定打开的连接 $row = mysql_fetch_row( $result ); //只取一行数据 echo $row[0]; //输出第一个字段的值
- mysqli是面向对象的,使用方式:
参考百度经验:点击打开链接$conn = new mysqli('localhost', 'user', 'password','data_base'); //要使用new操作符,最后一个参数是直接指定数据库,也可以用$conn -> select_db('data_base')指定 $result = $conn -> query( 'select * from data_base' ); $row = $result -> fetch_row(); //取一行数据 echo row[0]; //输出第一个字段的值
2、mysql和mysqli对中文显示的影响
如果使用mysql建立的连接,只能用mysql_query()设置编码,而mysqli中只能用mysqli_query()设置编码,两者不能混合使用。代码如下:
mysql_query("set names 'utf8'"); $conn->query("set names 'utf8'");