php中用utf8编码输出中文就是乱码

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<?php
header("Content-Type: text/html; charset=utf-8");
echo "中文";
?>
</body>
</html>
在浏览器上输出是����

1【数据库】->2【php代码文件】->3【浏览器】

假如【数据库】用utf8,php【代码文件】也用utf8,【浏览器】查看时也用utf8。那么恭喜你,不会出现乱码的问题。

而最容易出问题的就是:php【代码文件】
header("Content-Type: text/html; charset=utf-8");
echo "中文"; //此处的【中文】两个字的编码类型与文件编码类型相同。
echo iconv('gb2312', 'utf-8', '中文'); //此处则将【中文】两个字在【输出】时转换成了utf8,所以不会出现乱码了(假设用win记事本默认存储为gb2312)。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-09-03
说明这个php文件保存的编码是gb2312的,所以输出的是乱码
你把这个文件重新以u8的编码保存一下就行了,文件-》另存为,这里选择编码追问

我用的是文本编辑器编写,请问如何改编码

追答

文件-》另存为,然后选择编码

本回答被提问者采纳
第2个回答  2012-09-04
header("Content-Type: text/html; charset=utf-8");
可以省略,因为在meta已经定义了。
乱码的原因是保存文件时,文件的编码与显示编码不一致,只要另存为一次就好了
第3个回答  2012-09-03
<?php
header("Content-Type: text/html; charset=utf-8");
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<?php
echo "中文";
?>
</body>
</html>

------------------------------
这样就行了。
原因:header函数需要在页面输出之前使用,否则是不会生效的。

utf-8-PHP乱码的顽症--部分乱码
欲探讨UTF-8编码下的PHP乱码问题,先展示一段代码。通过`header("content-type:text\/html;charset=utf-8");`设置页面编码为UTF-8。文件操作如下:`$filep="text\/ok.txt";`定义文件路径。利用`if(file_exists($filep))`判断文件是否存在。`$fop=fopen($filep,"r");`打开文件进行读取。利用`...

用PHP从数据库中取出的中文是乱码,怎么处理能使中文正常显示?
数据库采用UTF8编码,而页面申明编码是GB2312,这是最常见的产生乱码的原因。这时候在PHP脚本里面直接SELECT数据出来的就是乱码,需要在查询前先使用:mysql_query("SET NAMES GBK");或mysql_query("SET NAMES GB2312");来设定MYSQL连接编码,保证页面申明编码与这里设定的连接编码一致(GBK是GB2312的扩...

PHP 解压缩中文文件名乱码
path = iconv("utf-8","gb2312",$path );转换下试试

我PHP设置的是UTF-8,数据库设置的是UTF8-general-ci,从页面发送数据给数...
MySql Server(UTF-8) -> PHP Connection( Latin1) -> UTF8页面的Result(UTF-8) 这时两种编码不兼容则产生乱码。

在PHP页面显示数据库内容时 页面中文部分出现乱码
一般来说,乱码问题其实也就是编码不一致导致的。因此,要解决PHP中文乱码问题,解决步骤有如下几步:1. 页面声明的编码 与 数据库内部编码 一致 比如: 你的网页里设置 charset = gb2312,然而,你的数据库使用utf-8,那么,如果不进行iconv转换的话,显示出来可能就有问题。2. 页面文件的编码 ...

我设置了MySQL的编码为utf8,浏览器从数据库读出数据在页面上却是乱码...
中文乱码问题经常会出现 1、数据库、数据表、字段 编码格式要保持一致 2、如果在doc界面录入数据,要保持当前编码格式与数据表编码格式一致 3、php读取数据显示,要保持文件的编码格式、html页面的编码格式同数据库一致,编码格式为utf-8或gb2312或gbk 4、php连接数据库之后mysql_query('set names gbk')...

关于PHP中MySQL开发UTF8数据库的中文输入乱码的问题,求解!在线求解!急...
如果你页面显示乱码的话,首先确保数据库内的数据不乱码,然后在你网页上加入下列代码:在HTML网页文件的head中间加入: 在PHP网页文件的最前端加上:header('Content-Type:text\/html;charset=utf-8');由于篇幅有限无法细说:你可以参考一下这里:http:\/\/www.e-du8.com\/thread-238-1-1.html 和http...

为什么 数据库提取中文是乱码
从后台读取数据时,通常会出现乱码情况,比如“汉字”变成“?”等,造成这种情况的原因通常是编码设置不对,解决方法如下:第一种方法:在php中添加如下代码,将编码格式设为“utf-8”,代码如下:header("Content-Type: text\/html; charset=UTF-8");第二种方法:在php中添加另外一行代码,同样用来...

如何解决PHP中文乱码问题
PHP中文乱码主要是编码不对,存在以下两种情况,你以此检查一下 ,改对编码就行了 1、 php文件本身的编码与网页的编码应匹配 a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text\/html; charset=gb2312"),静态页面添加,所有文件的编码格式为ANSI,可用记事本打开,另存为...

...编写php文件时,保存为utf-8,打开显示中文还是乱码,用notepad++打开...
1,数据库编码,mysql_query(set names utf8);2,就是你所说的文件编码保存要是utf-8;3,网页编码,可以两种方式设置(1),在html文件中设置 (2),在php文件中设置header("Content-type:text\/html;charset=utf-8");希望对你有所帮组!

相似回答