• 技术文章 >后端开发 >PHP问题

    php怎么删除乱码

    藏色散人藏色散人2021-03-31 09:21:32原创907

    php删除乱码部分的方法:1、设置php文件本身的编码与网页的编码匹配;2、设置PHP与数据库的编码一致;3、修改调用PHP函数时的编码即可。

    php入门到就业线上直播课:进入学习

    本文操作环境:Windows7系统、PHP7.1版,DELL G3电脑

    php中文删除乱码部分,PHP中文乱码解决办法

    一. 首先是PHP网页的编码

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

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

    b. 如果欲使用utf-8编码,那么php要输出头:header(“Content-Type: 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转码。

    二.PHP与Mysql的数据交互

    PHP与数据库的编码应一致

    1. 修改mysql配置文件my.ini或my.cnf,mysql最好用utf8编码

    [mysql]
    default-character-set=utf8
    [mysqld]
    default-character-set=utf8
    default-storage-engine=MyISAM

    在[mysqld]下加入:

    default-collation=utf8_bin
    init_connect='SET NAMES utf8'

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

    【推荐学习:PHP视频教程

    三.PHP与操作系统相关

    Windows和Linux的编码是不一样的,在Windows环境下,调用PHP的函数时参数如果是utf-8编码会出现错误,比如 move_uploaded_file()、filesize()、readfile()等,这些函数在处理上传、下载时经常会用到,调用时可能会出现下 面的错误:

    Warning: move_uploaded_file()[function.move-uploaded-file]:failed to open stream:

    以上就是php怎么删除乱码的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:php
    上一篇:php 二维数组怎么不去重合并 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 访问phpmyadmin错误,输入帐号密码无反应怎么办• 在centos下kanglephp怎么安装swoole扩展• 怎么设置php文件的编码格式• PHP开发中提供效率的VSCode插件推荐(值得收藏)• php 二维数组怎么不去重合并
    1/1

    PHP中文网