php怎么删除乱码
时间:2021-04-01
来源:互联网
今天PHP爱好者给大家带来php删除乱码部分的方法:1、设置php文件本身的编码与网页的编码匹配;2、设置PHP与数据库的编码一致;3、修改调用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与操作系统相关
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爱好者其它相关文章!
-
莱特币指南 时间:2025-05-02
-
三角洲行动研发部门任务怎么过-研发部门流程逃课方法 时间:2025-05-02
-
王者荣耀凯动画什么时候出-王者凯动画上线时间 时间:2025-05-02
-
DNF手游成长活动怎么选择绑定-雷米迪亚支援活动 时间:2025-05-02
-
七日世界新手进阶开服选择-七日新手怎么开局 时间:2025-05-02
-
王者荣耀新英雄是孙权吗-王者容易新英雄是谁 时间:2025-05-02
今日更新
-
详解Angular中的Observable(可观察对象)
阅读:21
-
Scratch如何操作人物舞动?用Scratch制作人物跳舞动画的技巧
阅读:18
-
详解Bootstrap中的标签、徽章、巨幕和页头
阅读:20
-
php 二维数组怎么不去重合并
阅读:21
-
高德地图app里怎么设置看到家人地图卡片?
阅读:20
-
怎么设置php文件的编码格式
阅读:21
-
javascript怎么判断是否是字符串
阅读:22
-
讲解一个高性能、简单、跨平台的 PHP7 代码加密扩展
阅读:19
-
Vegas如何操作驱动程序更新?Vegas更新驱动程序的方法
阅读:20
-
详解thinkphp6循环的两种方式
阅读:21