PHP文件及数据编码转换解决乱码问题-文件系统转换
ThinkPHP创建网站时使用UTF8编码,包括数据库操作默认情况下也使用与文件系统相同的编码。但有些第三方应用,使用的并非UTF8编码,如果在当前应用中调用,将会出现异常,例如乱码、解释错误等。事实上PHP已经内置了iconv函数用于处理字符编码,但只能处理字符串。ThinkPHP内置了CodeSwich类库,能够方便地对PHP及HTML文件进行转码,支持批量转码。转码后开发人员就可以方便地调用不同编码的类库及函数。
1、DetectAndSwitch方法
DetectAndSwitch方法可以方便地对单个PHP、HTML、JS等文件进行编码转换,DetectAndSwitch方法形式如下。
static function DetectAndSwitch($filename,$out_charset)
其中参数filename表示需要转码的有效文件;参数out_charset表示转码后的编码,接受的输出编码与iconv函数一样。如以下代码所示。
需要注意的是转码后原文件将会被替换,这就意味着在Linux系统下,Web服务器对该文件必须具备可读可写权限。
2、CodingSwitch方法
很多第三方类库都不是由单个文件构成的,而是由一系列的类库构成的。CodingSwitch方法可以实现对整个目录下的PHP或者HTML等文件进行编码转换,函数形式如下:
static function CodingSwitch($app = "./",$charset='UTF-8',$mode = "FILES",$file_types = array(".html",".php"))
其中参数app表示目录路径;参数charset表示文件转换的目标编码;参数mode表示目录遍历模式,保持默认即可;参数file_types表示文件匹配后缀名,只有匹配的文件才进行转码。CodingSwitch方法的使用非常简单,如下代码所示。
相关内容
-
在wps中粘贴保留原格式化|wps中复制文件保留原
在wps中粘贴保留原格式化|wps中复制文件保留原有格式,格式化,...
-
什么是boot.ini文件错误ini的非法解决方案
什么是boot.ini文件错误ini的非法解决方案,,千奇百怪的电脑问...
-
鼠标不能拖动文件了
鼠标不能拖动文件了,鼠标,拖动,本文目录鼠标不能拖动文件了电...
-
添加删除程序不能做如何添加和删除程序错误的解
添加删除程序不能做如何添加和删除程序错误的解决方案,,最近,一...
-
计算机不能打开网页发送更多的数据包,但很少收到
计算机不能打开网页发送更多的数据包,但很少收到(解决方案)。,,问...
-
如何解决机箱内电气箱的漏电问题
如何解决机箱内电气箱的漏电问题,,故障现象; 电脑柜或电熨斗...
-
Outlook的PST文件损坏的修复方法
Outlook的PST文件损坏的修复方法,文件, ...
-
计算机蓝屏故障的计算机蓝屏解决方案
计算机蓝屏故障的计算机蓝屏解决方案,,电脑蓝屏电脑故障经常使...
-
IE脚本错误如何做Web脚本错误解决技巧
IE脚本错误如何做Web脚本错误解决技巧,,这个问题是由于这样的...
-
电脑什么文件不能删除文件|电脑中哪些文件不能
电脑什么文件不能删除文件|电脑中哪些文件不能删除,,电脑中哪...
-
字符库快捷键|字符串快捷键
字符库快捷键|字符串快捷键,,1. 字符串快捷键1、单行注释单行...
-
电脑上怎样打文件|电脑上怎样打文件符号
电脑上怎样打文件|电脑上怎样打文件符号,,电脑上怎样打文件符...
-
电脑玩游戏就声音大|电脑玩游戏就声音大怎么解
电脑玩游戏就声音大|电脑玩游戏就声音大怎么解决,,1. 电脑玩游...
-
Win7电脑屏幕模糊的原因及解决办法
Win7电脑屏幕模糊的原因及解决办法,解决办法,电脑屏幕, 在...
-
的故障_计算机解决无法打印文档
的故障_计算机解决无法打印文档,,核心提示:最近,打印机出现了一...