php 给文件转码,PHP程序开发中的文件批量转码

PHP培训 中山PHP培训 中山职业教育PHP培训 PHP编程 招生 报名

众多的PHP程序开发员都知道,在网站的开发过程中出于数据库要求及其众多因素的考虑,数据库由原gbk2312编码更改为utf-8,是为方便数据交互而减少编码不一致引起的问题,需要将开发网站整站转码(gb2312-->utf-8),同时这也是考虑到浏览器的兼容性问题。

第一:可以在网上找批量转码工具

虽然网上的批量转码工具可以实现网站代码的批量转码但作为开发网站的PHP程序员还要注意:

1.这个软件支持选择文件,或者选择目录,有部分可选类型,也可以是所有文件,提供方便的同时也要细心。查看所选文件里是否有不需要转码的文件,如不同编码的文件,图片等,一定不要一起给转了,否则这样很容易出现代码在运行时报错。

2.没有去重功能,所以注意不要重复选择文件,这样做也是会引起代码在运行时出现错误警告。

3. 若勾选”保留文件备份“,则每个文件都有一个对应的bak文件生成,由于我项目已经用git管理了,所以不需要备份(git自己有恢复功能),怎么备份法看具体情况吧,反正这大动作还是要慎重的。

第二:对于网站开发的程序员来说要记得去除bom头

使用EditPlus编辑器打开刚才转码过的文件,底部状态栏显示编码为”UTF-8+“,即含有bom头.什么是bom? 引用网友一段话"在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码,现在已经有很多软件识别bom头,但是还有些不能识别bom头,比如PHP就不能识别bom头,这也是用记事本编辑utf-8编码后执行就会出错的原因了.这样在php执行程序的时候会将bom头作为内容输出,在遇到要求不能有输出的时候,如session_start()就会出错。单个文件,用editplus编辑器打开另存为无‘utf-8’(即无bom)的文件即可。对于这么多文件,有网友分享了一段脚本,快速批量准确的去除bom头(没查到原作者,在此感谢高人分享~),在被转码文件的根目录下建一个php文件,以下代码拷贝进去,在url中输入访问地址,执行即可。

第三:在PHP网站开发的过程中我们可以使用强大的ZendSdio批量查找替换htm中申明的gb2312的编码为utf-8但要注意:新建的zend工程,查看htm是否正常显示,如果是乱码,查看工程htm的

编码是否设置为utf-8, 选中工程,全局搜索(ctrl+H)“charset=gb2312”批量替换为“charset=utf-8”,同时也要注意:可能某些引入项目外部的文件,需要保持申明为gb2312,所以,就需要排除这些例外,不可一起被替换,而对于本次已被转码的文件,是需要被替换的。另外可能还有有空格的如“charset=  gb2312”,没空格的,各种写法都搜一搜。以防有漏网之鱼。

第四:然后重点是php文件里的gb2312(或gbk),要结合上下文逻辑语境,确定是否需要替换。各种写法也要都搜一搜,如utf8,utf-8,gbk,gb2312等

在网站开发的过程中,有些程序员虽然对编程比较熟悉,但不太注意编码规则的细节问题,所以在PHP编程的过程中很容易忽略这些细节,然而就是这些细节性的问题就使程序员在编程的过程中出现了一些细节性的错误,并很难找出来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值