mysqli php php解决mysql乱码

【mysqli php php解决mysql乱码】导读:
在使用PHP连接MySQL数据库时,经常会遇到中文乱码的问题,这是由于MySQL默认字符集为Latin1,而我们的网站一般都是UTF-8编码 。本文将介绍几种解决MySQL乱码的方法 。
1. 修改MySQL字符集
可以通过修改MySQL的配置文件my.cnf或者在MySQL客户端中执行命令来修改MySQL字符集 。在my.cnf文件中添加以下内容:
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
2. 在PHP连接MySQL时设置字符集
在PHP连接MySQL时,可以设置字符集为UTF-8 , 代码如下:
$conn = mysqli_connect($servername, $username, $password, $dbname);
mysqli_set_charset($conn,"utf8");
3. 在SQL查询语句中设置字符集
在SQL查询语句中,可以设置字符集为UTF-8,代码如下:
$sql = "SET NAMES utf8";
mysqli_query($conn,$sql);
4. 使用iconv函数转换字符集
在读取MySQL数据时,可以使用iconv函数将字符集转换为UTF-8,代码如下:
$data = http://data.evianbaike.com/MySQL/mysqli_fetch_all($result,MYSQLI_ASSOC);
foreach ($data as $key => $value) {
foreach ($value as $k => $v) {
$data[$key][$k] = iconv("gb2312", "utf-8//IGNORE", $v);
}
}
总结:
以上四种方法都可以解决MySQL乱码的问题,但是推荐使用第二种方法 , 在PHP连接MySQL时设置字符集为UTF-8,这样可以避免在SQL查询语句中每次都要设置字符集 。同时,需要注意的是,在MySQL创建表时,也要将字符集设置为UTF-8 。

    推荐阅读