• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

求iconv的替代函数,该如何解决

php 搞代码 4年前 (2022-01-24) 16次浏览 已收录 0个评论

求iconv的替代函数
网上找了下,没对照表,求一个,最好自己试过的,发我邮箱吧amani1234#21cn.com,谢谢

——解决方案——————–

PHP code

/*******************************//GB转UTF-8编码*******************************/function gb2utf8($gbstr) { global $CODETABLE; if<div>本文#来源gaodai.ma#com搞##代!^码7网</div><pre>搞代gaodaima码

(trim($gbstr)==””) return $gbstr; if(empty($CODETABLE)){ $filename = dirname(__FILE__).”/gb2312-utf8.table”; $fp = fopen($filename,”r”); while ($l = fgets($fp,15)) { $CODETABLE[hexdec(substr($l, 0, 6))] = substr($l, 7, 6); } fclose($fp); } $ret = “”; $utf8 = “”; while ($gbstr) { if (ord(substr($gbstr, 0, 1)) > 127) { $thisW = substr($gbstr, 0, 2); $gbstr = substr($gbstr, 2, strlen($gbstr)); $utf8 = “”; @$utf8 = u2utf8(hexdec($CODETABLE[hexdec(bin2hex($thisW)) – 0x8080])); if($utf8!=””){ for ($i = 0;$i < strlen($utf8);$i += 3) $ret .= chr(substr($utf8, $i, 3)); } } else { $ret .= substr($gbstr, 0, 1); $gbstr = substr($gbstr, 1, strlen($gbstr)); } } return $ret;}//Unicode转utf8function u2utf8($c) { for ($i = 0;$i < count($c);$i++) $str = ""; if ($c < 0x80) { $str .= $c; } else if ($c > 6); $str .= (0x80 | $c & 0x3F); } else if ($c > 12); $str .= (0x80 | $c >> 6 & 0x3F); $str .= (0x80 | $c & 0x3F); } else if ($c > 18); $str .= (0x80 | $c >> 12 & 0x3F); $str .= (0x80 | $c >> 6 & 0x3F); $str .= (0x80 | $c & 0x3F); } return $str;}
——解决方案——————–
楼主看下这个帖子:http://neture.homeip.net/digiland/viewtopic.php?pid=39
下載地址osc_iconv.zip
里面有对照表的

如果需要非要使用,建议在php中打开iconv吧。
——解决方案——————–
建议还是不要自己写了
——解决方案——————–
强烈建议使用内置的,自己写对照表肯定不全
iconv 能处理的字符集有很多,自己写的肯定不能全包括


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:求iconv的替代函数,该如何解决
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址