php中uft-8中文编码乱码怎么办?

coldplay.xixi
发布: 2020-07-21 11:12:55
原创
3340人浏览过
php中uft-8中文编码乱码的解决办法:首先在代码开始处加入一行相关代码;然后依次点击【文件-另存为】,确保文件编码为【UTF-8】;最后php页面删除BOM标签即可。

php中uft-8中文编码乱码怎么办?

php中uft-8中文编码乱码的解决办法:

1、在代码开始处加入一行:

header("Content-Type: text/html;charset=utf-8");
登录后复制

2.PHP文件编码问题
点击编辑器的菜单:“文件”->“另存为”,可以看到当前文件的编码,确保文件编码为:UTF-8,
如果是ANSI,需要将编码改成:UTF-8。

3.PHP文件头BOM问题:
PHP文件一定不可以有BOM标签,否则,会出现session不能使用的情况,并有类似的提示:

立即学习PHP免费学习笔记(深入)”;

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
登录后复制

这是因为,在执行session_start()的时候,整个页面不能有输出,但是当由于前PHP页面存在BOM标签,PHP把这个BOM标签当成是输出了,所以就出错了!所以PHP页面一定要删除BOM标签。
删除这个BOM标签的方法:
1.可以用Dreamweaver打开文件,并重新保存,即可以去除BOM标签

2.可以用EditPlus打开文件,并在菜单“首选项”->“文件”->"UTF-8标识",设置为:“总是删除签名”,
然后保存文件,即可以去除BOM标签!

4.PHP以附件形式保存文件的时候,UTF-8编码问题:PHP以附件形式保存文件,文件名必须是GB2312编码,否则,如果文件名中有中文的话,将是显示乱码。

如果你的PHP本身是UTF-8编码格式的文件,需要将文件名变量由UTF-8转成GB2312:

iconv("UTF-8", "GB2312", "$filename");
登录后复制

利用程序来实例字符截取方法

function utf8_substr($str,$len) 
{ 
  for($i=0;$i<$len;$i++) 
  { 
    $temp_str=substr($str,0,1); 
    if(ord($temp_str) > 127){ 
      $i++; 
    if($i<$len){ 
      $new_str[]=substr($str,0,3); 
      $str=substr($str,3); 
      } 
    }else { 
    $new_str[]=substr($str,0,1); 
    $str=substr($str,1); 
    } 
  } 
  return join($new_str); 
}
登录后复制

相关学习推荐:PHP编程从入门到精通

以上就是php中uft-8中文编码乱码怎么办?的详细内容,更多请关注php中文网其它相关文章!

豆包AI编程
豆包AI编程

智能代码生成与优化,高效提升开发速度与质量!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号