数据库取出中文乱码php 解决数据库操作时的中文乱码问题

PHP读MYSQL中文乱码的快速解决方法打算切换某个网站数据库取出中文乱码php的主机数据库取出中文乱码php,没想到遇到Php和Mysql中文乱码数据库取出中文乱码php的问题 。
以前的国外主机用的Mysql是4.x系列的 , 感觉还比较好 , 都无论GBK和UTF-8都没有乱码,没想到新的主机的Mysql是5.0版本的,导入数据后,用Php读出来全是问号,乱码一片 , 记得数据库取出中文乱码php我以前也曾经有过一次切换出现乱码的经验,原因肯定是Mysql版本之间的差异问题 。
只好查资料,发现数据库取出中文乱码php了一个解决方法,就是在mysql_connect后面加一句SET
NAMES
【数据库取出中文乱码php 解决数据库操作时的中文乱码问题】UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用SET
NAMES
GBK , 代码如下:
$mysql_mylink
=
mysql_connect($mysql_host,
$mysql_user,
$mysql_pass);
mysql_query("SET
NAMES
'GBK'");
以上就是小编为大家带来的PHP读MYSQL中文乱码的快速解决方法的全部内容了 , 希望对大家有所帮助,多多支持脚本之家~
PHP在显示数据库中的中文数据时显示乱码其实,只要注意文件编写的时候编码、数据库的编码一般就不会有这个问题的,但是,比如你用DW(dwcs4貌似没有这个现象)打开文件,它会以默认的编码读?。?一旦你保存了,那就完了,用EditPlus打开之后 , 右下角有编码提示,如果发现不对,另存为,覆盖一下,就可以了
PHP读取Access数据库 出乱码access的中文版默认是GBK格式的 , 是无法改变字符类型的,所以用php读取的时候会乱码 。
解决方法是:使用iconv转换
一、使用 iconv函数制作一个转码的自定义从GBK转到UTF-8的函数,如以下代码:
function enc($c){return iconv('gbk','utf-8',$c);}
二、为了写入数据库的编码是符合数据库需要的,所以我们还要制作一个从UTF-8转向GBK的函数:
function dec($c){return iconv('utf-8','gb2312',$c);}
制作好了转码函数,接下就是正常使用了 。在从数据库里面调数据显示在页面的时候使用enc()函数 , 从页面提交数据到数据库时使用dec()函数,这样就可以很好的解决PHP使用UTF-8编码,ACCESS使用系统默认编码的问题了 。
为什么 数据库提取中文是乱码?从后台读取数据时,通常会出现乱码情况,比如“汉字”变成“?”等 , 造成这种情况的原因通常是编码设置不对,解决方法如下:
第一种方法:在php中添加如下代码,将编码格式设为“utf-8”,代码如下:
header("Content-Type: text/html; charset=UTF-8");
第二种方法:在php中添加另外一行代码,同样用来转码,代码如下:
$conn = mysqli_connect($servername, $username, $password, $mysqlname);
$conn-query("SET NAMES utf8");
该种情况是先创建链接 , 之后再转码 。
另外,在使用数据库时,直接手动(非代码)建表,通常会在表中输入汉字时,浏览时无法显示或显示为“?”,造成这种情况的原因也是编码问题 , 解决方案如下:
在建表或建库时,表和库的编码格式一定要统一,设置成:“utf8_general_ci”,如下图:
数据库取出中文乱码php的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于解决数据库操作时的中文乱码问题、数据库取出中文乱码php的信息别忘了在本站进行查找喔 。

    推荐阅读