温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何解决php输出中文乱码问题

发布时间:2020-11-09 09:49:47 来源:亿速云 阅读:151 作者:小新 栏目:编程语言

小编给大家分享一下如何解决php输出中文乱码问题,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

解决方法:1、HTML和PHP混合的页面,需用meta标签或header()函数统一页面编码;2、纯PHP的静态页面,使用header()函数将编码设置为“utf-8”;3、使用mysql_query()来设置PHP连接mysql的编码。

一般来说,乱码的出现有2种原因,首先是由于编码(charset)设置错误,导致浏览器以错误的编码来解析,从而出现了满屏乱七八糟的“天书”,其次是文件被以错误的编码打开,然后保存,比如一个文本文件原先是GB2312编码的,却以UTF-8编码打开再保存。要解决上述乱码问题,首先需要知道开发中哪些环节涉及到了编码:

1、文件编码:指的是页面文件(.html,.php等)本身是以何种编码来保存的。记事本和Dreamweaver在打开页面时候会自动识别文件编码因而不太会出问题。而ZendStudio却不会自动识别编码,它只会根据首选项的配置固定以某种编码打开文件,如果工作时候一不注意,用错误编码打开文件,做了修改之后一保存,乱码就出现了。

2、页面申明编码:在HTML代码HEAD里面,可以用<meta http-equiv="Content-Type" content="text/html; charset="XXX" />(这句一定要写在<title>XXX</title>前面,否则会导致页面一片空白(仅限IE+PHP))来告诉浏览器网页采用了什么编码,目前中文网站开发中主要用的是GB2312和UTF-8两种编码。

3、数据库连接编码:指的是进行数据库操作时候以哪种编码与数据库传输数据,这里需要注意的是不要与数据库本身的编码混淆,比如MySQL内部默认是latin1编码,也就是说Mysql是以latin1编码来存储数据,以其他编码传输给Mysql的数据会被转换成latin1编码。

知道了WEB开发中哪些地方涉及到了编码,也就知道了乱码产生的原因:上述3项编码设置不一致,由于各种编码绝大部分是兼容ASCII的,所以英文符号不会出现,中文就倒霉了。

php输出中文乱码的解决方法

第一种、HTML和PHP混合的页面解决方案

方法一:使用<meta>标签

如果是HTML中嵌入PHP代码,可以使用<meta charset="UTF-8">来解决中文乱码问题

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>php输出中文乱码</title>
	</head>

	<body>
		<div class="demo">

			<?php
			echo "亿速云!";
			?>
		</div>

	</body>

</html>

方法二:使用header()函数

如何是HTML和PHP混编,除了按照第一个方法所说的操作之外,还需要在PHP文件的最上面加入这句代码:

<?php
header("content-type:text/html;charset=utf-8");         //设置编码
?>

第二种、纯PHP页面的中文乱码问题(数据是静态的)

如果你的PHP页面出现了乱码,只需要在页面的开始处加入下面代码就可以了。

<?php
header("content-type:text/html;charset=utf-8");         //设置编码
?>

第三种、PHP+Mysql中文乱码问题

这个除了按照第三种所说的操作之外,还要在你的数据查询/修改/增加之前加入数据库编码。而且,值得注意的是,这里的UTF8和之前的不一样,中间是没有横线的。

 <?php
    mysql_query('SET NAMES UTF8');
    //接下来的就是查出数据或者修改,增加
?>

如何你使用的MySQL版本在 4.1 或更高版本,可以在链接数据库操作后,设置一个字符编码,像下面这样

如何解决php输出中文乱码问题

注意:

在需要做数据库操作的php程序前加的 mysql_query("set names '编码'");编码,一定要和php编码一致,如果php编码是gb2312那mysql编码就是gb2312,如果是utf-8那mysql编码就是 utf8,这样插入或检索数据时就不会出现乱码了

看完了这篇文章,相信你对如何解决php输出中文乱码问题有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI