php 乱码 iconv('UCS-2'
2014-04-13 15:27
344 查看
UCS-2编码一般默认是大头,今天在一台机器上居然是小头(CentOS xeon64),最后统统把UCS-2改成UCS-2BE。
有兴趣试试下面的PHP代码:
echo iconv('UCS-2', 'gbk', pack('H4','8F66'));
echo iconv('UCS-2LE', 'gbk', pack('H4', '8F66'));
echo iconv('UCS-2BE', 'gbk', pack('H4', '8F66'));
在centos某些机器上默认ucs-2即ucs-2LE。
iconv.c:197:names for UCS-2LE: UCS-2LE
iconv.c:197:names for UCS-2BE: UCS-2BE
debian 为 UCS-2BE
<?php function phpunescape($str) { $str = rawurldecode ( $str ); preg_match_all ( "/%u.{4}|.{4};|\d+;|.+/U", $str, $r ); $ar = $r [0]; foreach ( $ar as $k => $v ) { if (iconv_substr ( $v, 0, 2 ) == '%u') $ar [$k] = iconv ( 'UCS-2BE', 'gbk', pack ( 'H4', iconv_substr ( $v, - 4,4 ) ) ); elseif (substr ( $v, 0, 3 ) == '') $ar [$k] = iconv ( 'UCS-2BE', 'gbk', pack ( 'H4', substr ( $v, 3, - 1 ) ) ); elseif (substr ( $v, 0, 2 ) == '') { $ar [$k] = iconv ( 'UCS-2BE', 'gbk', pack ( 'n', substr ( $v, 2, - 1 ) ) ); } } return join ( '', $ar ); } $now_time=date("Y-m-d H:i:s"); echo $now_time.'<br>时尚欣欣65<br>解码之后:'; echo phpunescape('%u65F6%u5C1A%u6B23%u6B2365'); //echo curlGetRurl('http://iframe.ip138.com/ic.asp',10); ?>
相关文章推荐
- 在php中使用mb_substr($row['title'],0,15,'utf-8')解决获取的字符后面几们的乱码问题
- PHP 5.3.10 编译安装时出现 undefined reference to `libiconv' 错误的解决方法
- linux编译安装php5.4遇到错误:undefined reference to `libiconv_open'
- mysql_query("SET NAMES 'utf8'",$link);解决php中文乱码
- php编译时undefined reference to `libiconv_open'解决办法
- dirname(__FILE__) 与 PHP define() 及例子define('root',dirname(__file__))
- PHP正则preg_replace()函数 Unknown modifier 'c'问题 _新手学php正则的时候遇到的问题
- php 读取xml的方法 (iconv解决中文乱码问题)
- select sysdate - interval '2' day from dual --计算N天前的日期
- php 文件上传 错误信息 总结 $_FILES['Filedata']["error"] 值枚举
- php $_SERVER['ORIG_SCRIPT_NAME']
- php接收二进制文件转换成图片,php://input $GLOBALS['HTTP_RAW_POST_DATA']
- php 判断上传文件类型 $_files[]['type']值大全
- PHP Fatal error: Class 'Mongo' not found
- 解决php的imagick库Strict Standards: Imagick::clone method is deprecated and it's use should be avoided
- Unable to find the socket transport 'ssl' - did you forget to enable it when you configured PHP?
- 80 php id = $_GET['id']写法 E: 软件包 xmind 需要重新安装,但是我无法找到相应的安装文件
- php几个预定义变量$_SERVER['DOCUMENT_ROOT']
- PHP执行MYSQL存储过程报错:Commands out of sync; you can't run this command now 问题的解决
- php环境搭建(cann't load与cann't api)