PHP 输出简单的中文 乱码问题

作者&投稿:宓蔡 (若有异议请与网页底部的电邮联系)
php输出中文出现乱码~

插在include之后,如果没有include就放在第一行
<?
include_once('abcd.php');
....
include_once('cddv.php');

mysql_query("SET NAMES 'GBK'"); //这里

.....
?>
还有一种可能是HTML的头部标签的编码和源代码不一样
你看是不是这个,gbk对应的应该是这个

你的问题提的比较简单,实际上呢,产生乱码的原因有很多。
最主要的是数据库的问题,在安装环境的时候就要选好字符集,然后
在调用数据库的时候使用相同的字符集。
这里有一个gb2312的数据库链接函数。供参考
function db_connect()
{
$result=new mysqli('localhost','root','你的密码','你的数据库名');
$result->query("set names 'gb2312'");//字符集
if(!$result)
return false;
return $result;
}

解决php中中文乱码问题方法

  1. php文件本身的编码与网页的编码应匹配


    a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/html; charset=gb2312"),静态页面添加<meta http-equiv="Content-Type" content="text/html; charset=gb2312">,所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码为ANSI,覆盖源文件。


    b. 如果欲使用utf-8编码,那么php要输出头:header(“Content-Type: text/html; charset=utf-8"),静态页面添加<meta http-equiv="Content-Type" content="text/html; charset=utf-8">,所有文件的编码格式为utf-8。保存为utf-8可能会有点麻烦,一般utf-8文件开头会有BOM,如果使用session就会出问题,可用editplus来保存,在editplus中,工具->参数选择->文件->UTF-8签名,选择总是删除,再保存就可以去掉BOM信息了。

  2. php本身不是Unicode的,所有substr之类的函数得改成mb_substr(需要装mbstring扩展);或者用iconv转码。 

  3. 如果你的HTML文件文件出现了乱码问题,那么你可以在head标签里面加入UTF8编码(国际化编码):UTF-8是没有国家的编码,也就是独立于任何一种语言,任何语言都可以使用的。

扩展资料:

解决PHP 输出简单的中文 乱码问题的其他方法:

在php的echo前面加入header("Content-Type:text/html;charset=gb2312")

把<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />中的UTF-8改成gb2312

 参考资料:

百度百科-PHP



少个header声明

<?php
header("Content-type: text/html; charset=utf-8"); 
echo '中文';

?>


然后将php文档用编辑器转化为utf编码



乱码的原因无非就是浏览器无法正确索引文件的字符集编码,首先要清楚一个常识就是,文件的编码(也就是说文件用什么编码创建的就是什么编码)与浏览器索引(索引就是用什么编码去查看)的编码要一致,否则就会出现字符乱码,那么代码如下:

// 解决方案有两种,都必须在文件输出字符前声明(哪怕一个换行一个空格也不行,都会导致设置上的失效)

// 解决方案1:HTML方式
echo '<meta http-equiv="Content-Type" content="text/hmtl; charset=utf-8" />';

// 解决方案2:PHP方式
header('Content-Type:text/html; charset=utf-8;');

以上若还有任何疑问,欢迎追问~



这个跟php没关系 编号问题 在echo之前请先使用header(‘http头’) 函数。

页面上明显不是UTF8,是GB2312吧。转化下。
DW里面的话。按CTRL+F。里面有个编码选择


商南县18972695204: PHP 输出简单的中文 乱码问题 -
凤映妇平: 解决php中中文乱码问题方法1. php文件本身的编码与网页的编码应匹配 a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/html; charset=gb2312"),静态页面添加,所有文件的编码格式为ANSI,可用记事本打开,另...

商南县18972695204: PHP输出中文显示乱码怎么办? -
凤映妇平: 这是编码的问题 在echo之前加上header("content-type: text/html; charset=UTF-8"); 或者在<?php之前加上<meta charset="utf-8">

商南县18972695204: php中文乱码问题 -
凤映妇平: 估计你的数据库版本太高,你把你的文件另存为,看下编码方式,选择UTF-8的编码方式,然后把这句话 mysql_query("set names GB2312"); 修改为:mysql_query("set names UTF8"); 再在<title>之前增加<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 就可了 注意:网页的编码方式一定要和数据库的编码方式相同才可以

商南县18972695204: PHP输出中文是乱码 -
凤映妇平: 你的问题提的比较简单,实际上呢,产生乱码的原因有很多.最主要的是数据库的问题,在安装环境的时候就要选好字符集,然后 在调用数据库的时候使用相同的字符集.这里有一个gb2312的数据库链接函数.供参考 function db_connect() { $result=new mysqli('localhost','root','你的密码','你的数据库名'); $result->query("set names 'gb2312'");//字符集 if(!$result) return false; return $result; }

商南县18972695204: 为什么我的php输出的中文是乱码? -
凤映妇平: 是你的页面 编码 有问题!你这个是不是 还没有用到 数据库 啊?那应该就是 你的 IE浏览器的 编码 跟你 页面的编码不统一!你应该先判断你的 页面是 什么编码 然后再把 IE的编码换成 你的页面 编码!那就可以了!

商南县18972695204: php代码里面怎么解决中文乱码 -
凤映妇平: 1、查看php文件的编码是否是UTF82、查看编辑器的编码是否是UTF83、将php文件和编辑器的编码改成一致

商南县18972695204: PHP文件里要输出的中文在浏览器里显示乱码 -
凤映妇平: 1、版权所有 是模板页面直接输出,你的页面设置了UTF8编码所以没问题 .2、张三 是PHP文件中用函数的方式存在e799bee5baa6e997aee7ad94e58685e5aeb931333335326133变量中的,问题出在PHP文件中.解决办法:第一步< ?php ...

商南县18972695204: PHP怎么处理中文乱码 如图 -
凤映妇平: 1. 数据源格式不同 html页面展示的数据来自不同的数据源,不同的数据源的数据编码格式不一样,那么无论charset设置什么值,都会是乱码.解决方法就是在展示数据之前,将所有的数据内容重新编码为统一的格式,如utf-8,让后设定charset=...

商南县18972695204: php文件编译时中文出现乱码情况怎样解决??? -
凤映妇平: 编码一致就行了,看看你的页面编码用的是什么,然后转下输出结果$test = '转码'; echo iconv("UTF-8", "GB2312", $test);

商南县18972695204: 用PHP写的程序,中文在显示器中显示出来乱码 -
凤映妇平: 因为你的meta指定了编码,所以你需要做的是:1.检查此文件的编码,如果使用“记事本”之类的编辑,会被保存为GBK2.将此文件另存为UTF-8编码

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网