PHP mysql 如何将从数据中读入的中文乱码转换成中文字符? 100
我的mysql数据库,将中文字符采用php以get的模式写入数据中,打开数据表查看,中文字符全部是乱码。然后又以get的模式,利用php将数据中的中文数据读出来,得到的全...
我的mysql数据库,将中文字符采用php以get的模式写入数据中,打开数据表查看,中文字符全部是乱码。
然后又以get的模式,利用php将数据中的中文数据读出来,得到的全是乱码,我在php中使用。
我于是在php中,将从数据中读取出来的中文乱码,采用 // $myName= mb_convert_encoding($CompanyName,"GB2312","UTF-8"); //新编码,原编码
// $myName= iconv( "GB2312","UTF8",$CompanyName); //新编码,原编码
进行转换,结果得到的是空值。
有什么方案,把这个问题解决掉,使得中文存入数据库不显示为乱码,同理,从数据库中读取的中文,现在在网页上,或者直接返回的echo值,仍然是正常的,不是乱码呢? 展开
然后又以get的模式,利用php将数据中的中文数据读出来,得到的全是乱码,我在php中使用。
我于是在php中,将从数据中读取出来的中文乱码,采用 // $myName= mb_convert_encoding($CompanyName,"GB2312","UTF-8"); //新编码,原编码
// $myName= iconv( "GB2312","UTF8",$CompanyName); //新编码,原编码
进行转换,结果得到的是空值。
有什么方案,把这个问题解决掉,使得中文存入数据库不显示为乱码,同理,从数据库中读取的中文,现在在网页上,或者直接返回的echo值,仍然是正常的,不是乱码呢? 展开
1个回答
展开全部
要解决乱码首先需要知道出现乱码的原因:
一、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,这样就保证了该文件也是utf-8编码。
3. 数据库中表的字段中存储中文的部分,要设置为utf8_general_ci类型。
4.PHP在连接数据库操作时,要设置操作的字段类型为utf8,设置方法如下:
mysql_connect(’localhost’,'user’,'password’);mysql_select_db(’db’);mysql_query(”set names utf8;”); //**设置字符集***
一、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,这样就保证了该文件也是utf-8编码。
3. 数据库中表的字段中存储中文的部分,要设置为utf8_general_ci类型。
4.PHP在连接数据库操作时,要设置操作的字段类型为utf8,设置方法如下:
mysql_connect(’localhost’,'user’,'password’);mysql_select_db(’db’);mysql_query(”set names utf8;”); //**设置字符集***
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询