PHP+MySQL存储数据出现中文乱码的问题

Posted 飘渺的悠远

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP+MySQL存储数据出现中文乱码的问题相关的知识,希望对你有一定的参考价值。

PHP+MySQL出现中文乱码的原因:

1. mysql数据库的编码是utf8,与php网页的编码格式不一致,就会造成MYSQL中的中文乱码。

2. 使用MYSQL中创建表、或者选择字段时设置的类型不是utf8,而网页编码不是utf8,也可能造成MYSQL中文乱码.

3. PHP页面的字符集与数据库的编码不一致。

4. PHP连接MYSQL数据库,操作是设定的语句指定的编码和页面编码,PHP页面编码不一致。

5. 用户提交的html页面编码,和显示数据的页面编码不一致 ,就肯定会造成PHP页面乱码.

 

解决中文乱码的问题:

1. 网页编码设置。一般在HTML代码中的文件头<html>中加入属性:

<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″> 

保证,网页是"utf-8"编码。

2. PHP代码设置。在php代码的开始部分加入以下代码:

header(”Content-type: text/html;charset=utf-8″);

且要求保存的文件编码方式是utf-8(可以用EditPlus打开设置,如下图),这样就保证了该文件也是utf-8编码。

3. 数据库中表的字段中存储中文的部分,要设置为utf8_general_ci类型。

4.PHP在连接数据库操作时,要设置操作的字段类型为utf8,设置方法如下:

mysql_connect(’localhost’,‘user’,‘password’);

mysql_select_db(’db’);

mysql_query(”set names utf8”); //**设置字符集***

mysql_query(要执行的sql语句);

以上是关于PHP+MySQL存储数据出现中文乱码的问题的主要内容,如果未能解决你的问题,请参考以下文章

Mysql存储过程中文乱码问题

mysql存储乱码之编码问题

mysql 8.0 中文数据乱码怎么解决

PHP插入数据到数据库出中,中文出现乱码~~全是问号

MySql 中文乱码排查解决方案

mysql数据库解决中文乱码问题