这段代码是ThinkPHP框架中的,感觉很常用,所以单独拎出来,大家共同学习一下。
function auto_charset($fContents,$from='''',$to='''')
{
if( strtoupper($from) === strtoupper($to) || empty($fContents) || (is_scalar($fContents) && !is_string($fContents)) ){
//如果编码相同或者非字符串标量则不转换
return $fContents;
}
$from = strtoupper($from)==''UTF8''? ''utf-8'':$from;
$to = strtoupper($to)==''UTF8''? ''utf-8'':$to;
if(is_string($fContents) ) {
if(function_exists(''mb_convert_encoding'')){
return mb_convert_encoding ($fContents, $to, $from);
}elseif(function_exists(''iconv'')){
return iconv($from,$to,$fContents);
}else{
exit(''转换失败'');
return $fContents;
}
}
elseif(is_array($fContents)){
foreach ( $fContents as $key => $val ) {
$_key = auto_charset($key,$from,$to);
$fContents[$_key] = auto_charset($val,$from,$to);
if($key != $_key ) {
&
编码转换php
时间: 2024-09-28 21:14:01
编码转换php的相关文章
用php实现gb2312和unicode间的编码转换
编码|转换 gb2312 和 unicode 间的编码转换 下面的例子是将 gb2312 转换为 "全"这种形式 php4.3.1以后的iconv函数很好用的,只是需要自己写一个uft8到unicode的转换函数查表(gb2312.txt)也行<?$text = "电子书库";preg_match_all("/[\x80-\xff]?./",$text,$ar);foreach($ar[0] as $v) echo ""
用php实现 gb2312 和 unicode 间的编码转换
编码|转换 gb2312 和 unicode 间的编码转换 下面的例子是将 gb2312 转换为 "全"这种形式 php4.3.1以后的iconv函数很好用的,只是需要自己写一个uft8到unicode的转换函数查表(gb2312.txt)也行<?$text = "电子书库";preg_match_all("/[\x80-\xff]?./",$text,$ar);foreach($ar[0] as $v) echo ""
Java中的字符集编码入门(五) Java代码中的字符编码转换
如果你是JVM的设计者,让你来决定JVM中所有字符的表示形式,你会不会允许使用各种编码方式的字符并存? 我想你的答案是不会,如果在内存中的Java字符可以以GB2312,UTF-16,BIG5等各种编码形式存在,那么对开发者来说,连进行最基本的字符串打印.连接等操作都会寸步难行.例如一个GB2312的字符串后面连接一个UTF-8的字符串,那么连接后的最终结果应该是什么编码的呢?你选哪一个都没有道理. 因此牢记下面这句话,这也是Java开发者的共同意志:在Java中,字符只以一种编码形式存在,那就
浅析PHP中的字符串编码转换(自动识别原编码)
本篇文章是对PHP中字符串编码转换的实现代码进行了详细的分析介绍,需要的朋友参考下 复制代码 代码如下: /** * 对数据进行编码转换 * @param array/string $data 数组 * @param string $output 转换后的编码 */ function array_iconv($data,$output = 'utf-8') { $encode_arr = array('UTF-8','ASCII','GBK','GB2312','
PHP编码转换函数mb
将一个短信接口代码从apache迁移到nginx+php-fpm后,发现无法发出短信了,查看php日志, [25-Sep-2014 20:15:21] WARNING: [pool www] child 9617 said into stderr: "NOTICE: PHP message: PHP Fatal error: Call to undefined function mb_convert_encoding() in /data/htdocs/xx.php on line 13″
php数组编码转换示例详解
需要达到的效果是GBK数组转换成utf-8数组传给json_encode函数,下面使用详细介绍转换方法 因为一些特殊字符的显示效果的原因不得不把习惯的utf-8工程改成了GBK,由于使用了ajax技术,又涉及到了老问题--编码转换.一些表单验证需要返回json数据,php的json_encode函数只支持utf-8编码,无奈只得iconv了,需要达到的效果是GBK数组转换成utf-8数组传给json_encode函数. 最开始的思路,将数组序列化后用iconv函数转换编码,之后再反序列化,
图片-VC 中编码转换乱码问题
问题描述 VC 中编码转换乱码问题 为什么a是'{'??? 解决方案 http://www.guokr.com/blog/763017/ 检查转换是否正确,编码的选择等 解决方案二: 编码转换是否正确 对应编码格式支持吗
用shell批量编码转换
-------------------------------------文件内容转换:iconv-------------------------------------- 通常,从其他平台拷贝过来(Linux)的文件,比如mac或win,打开后都是有编码错误的,尤其是中文编码. 这里主要是纯文本文件,pdf或者office文件不谈,他们只存在文件名的乱码,不存在文件内容的乱码(因为他门本来就没有编码). 造成的原因很简单,因为前两个系统上的文本文件都是默认gbk编码格式的,gbk是个主要为
浅谈JavaScript中的字符编码转换问题_基础知识
要获得字符的Unicode编码,可以使用string.charCodeAt(index)方法,其定义为: strObj.charCodeAt(index) index为指定字符在strObj对象中的位置(基于0的索引),返回值为0与65535之间的16位整数.例如: var strObj = "ABCDEFG"; var code = strObj.charCodeAt(2); // Unicode value of character 'C' is 67
PHP下编码转换函数mb_convert_encoding与iconv的使用说明_php技巧
不过英文一般不会存在编码问题,只有中文数据才会有这个问题.比如你用Zend Studio或Editplus写程序时,用的是gbk编码,如果数据需要入数据库,而数据库的编码为utf8时,这时就要把数据进行编码转换,不然进到数据库就会变成乱码. mb_convert_encoding的用法见官方: http://cn.php.net/manual/zh/function.mb-convert-encoding.php 做一个GBK To UTF-8 复制代码 代码如下: <?php header(&qu