php 自定义UTF8和cp1251函数
发布:smiling 来源: PHP粉丝网 添加日期:2013-11-28 15:31:44 浏览: 评论:0
当你需要从utf8转换一些数据,cp1251(窗- 1251)或cp1251到utf8你必须使用系统功能的iconv。常见的主机服务商不允许使用此功能,下面是一个php自定义UTF8和cp1251的函数:
- <?php
- */
- function cp1251_to_utf8($s){
- $c209 = chr(209); $c208 = chr(208); $c129 = chr(129);
- for($i=0; $i<strlen($s); $i++) {
- $c=ord($s[$i]);
- if ($c>=192 and $c<=239) $t.=$c208.chr($c-48);
- elseif ($c>239) $t.=$c209.chr($c-112);
- elseif ($c==184) $t.=$c209.$c209;
- elseif ($c==168) $t.=$c208.$c129;
- else $t.=$s[$i];
- }
- return $t;
- }
- function utf8_to_cp1251($s)
- {
- for ($c=0;$c<strlen($s);$c++)
- {
- $i=ord($s[$c]);
- if ($i<=127) $out.=$s[$c];
- if ($byte2){
- $new_c2=($c1&3)*64+($i&63);
- $new_c1=($c1>>2)&5;
- $new_i=$new_c1*256+$new_c2;
- if ($new_i==1025){
- $out_i=168;
- } else {
- if ($new_i==1105){
- $out_i=184;
- } else {
- $out_i=$new_i-848;
- }
- }
- $out.=chr($out_i);
- $byte2=false;
- }
- if (($i>>5)==6) {
- $c1=$i;
- $byte2=true;
- }
- }
- return $out;
- }
- ?>
Tags: 自定义 UTF8 cp1251
相关文章
- ·php 删除非空目录自定义函数(2014-01-07)
- ·php函数详解之学习笔记(2014-03-07)
- ·PHP 函数之自定义函数介绍(2014-03-22)
- ·php自定义函数用法介绍(2014-03-30)
- ·php 自定义复杂MD5加密函数(2014-08-22)
- ·PHP 自定义错误处理函数(2014-08-23)
- ·php自定义加密解决实现代码(2014-08-23)
- ·php自定义加密解密实现代码(2014-08-23)
- ·PHP自定义dump_var函数方便自己开发(2014-09-13)
- ·php给数组去除重复数据的自定义函数(2014-09-22)
- ·php随机密码生成的自定义函数(2015-04-13)
- ·PHP判断自定义函数定义所在文件(2015-04-13)
- ·使用PHP原生函数就一定比自定义函数快吗?(2015-04-15)
- ·php自定义函数及数组(2015-12-12)
- ·php怎么用uuid?PHP中生成UUID自定义函数分享(2018-06-01)
- ·php常规知识考察:自定义函数及内部函数(2020-02-18)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)