CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  PHP

iconv()、bin2hex()、UTF-8的使用以及实现问题(急!)

楼主javavip(☆★☆★☆★)2004-12-01 01:29:03 在 Web 开发 / PHP 提问

利用PHP如何实现   中文与UTF-8之间的转化? 问题点数:20、回复次数:9Top

1 楼xuzuning(唠叨)回复于 2004-12-01 08:29:19 得分 0

汉字到UTF-8  
  iconv("GB2312","UTF-8",$text);  
  iconv("GBK","UTF-8",$text);  
   
  UTF-8到汉字  
  iconv("UTF-8","GB2312",$text);  
  iconv("UTF-8","GBK",$text);  
  Top

2 楼javavip(☆★☆★☆★)回复于 2004-12-01 15:15:00 得分 0

谢谢!  
   
  在WAP浏览器下需要Unicode编码,该如何转换?  
   
  比如   “我”转换后是   “我”  
   
  如此格式如何转换?Top

3 楼javavip(☆★☆★☆★)回复于 2004-12-01 16:10:35 得分 0

再如:“合作”转换后是“合作”Top

4 楼javavip(☆★☆★☆★)回复于 2004-12-02 02:54:06 得分 0

汉字转换为UNICODE已经按照“唠叨”的方法解决,非常感谢,那返过来,如何把如“合作”这样的编码转换为中文“合作”?  
   
  直接用   echo   "合作";       是可以看到“合作”,但查看源代码的时候还是   "合作"     ,而我想看到的是“合作”,该怎么解决啊?Top

5 楼xuzuning(唠叨)回复于 2004-12-02 08:14:57 得分 20

对于unicode的ascii表示,你需要有一个与js等价的unescape函数:  
   
  function   unescape($str)   {  
      $str   =   rawurldecode($str);  
      preg_match_all("/(?:%u.{4})|&#x.{4};|&#\d+;|.+/",$str,$r);  
      $ar   =   $r[0];  
      foreach($ar   as   $k=>$v)   {  
          if(substr($v,0,2)   ==   "%u"   &&   strlen($v)   ==   6)  
              $ar[$k]   =   iconv("UCS-2","GB2312",pack("H4",substr($v,-4)));  
      }  
      return   join("",$ar);  
  }  
   
  通常使用的unicode的ascii表示有三种  
  比如“合作”可以表示为:  
  合作  
  或  
  %u5408%u4f5c  
  或  
  合作  
   
  参考:  
  function   escape($str)   {  
      preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$r);  
      $ar   =   $r[0];  
      foreach($ar   as   $k=>$v)   {  
          if(ord($v[0])   <   128)  
              $ar[$k]   =   rawurlencode($v);  
          else  
              $ar[$k]   =   "%u".bin2hex(iconv("GB2312","UCS-2",$v));  
      }  
      return   join("",$ar);  
  }  
  Top

6 楼javavip(☆★☆★☆★)回复于 2004-12-02 14:46:01 得分 0

xuzuning(唠叨)   ,你是我见过PHP最厉害的,相信其它方面一定很强,谢谢你!  
   
   
  小弟先研究研究!Top

7 楼javavip(☆★☆★☆★)回复于 2004-12-02 14:50:27 得分 0

不太明白里面的原理,照抄没什么意义!  
   
    我太笨了Top

8 楼javavip(☆★☆★☆★)回复于 2004-12-02 15:02:58 得分 0

unescape()  
  使用之后查看源代码还是编码。Top

9 楼flytosnow(javavipt)回复于 2004-12-07 09:01:15 得分 0

顶下!Top

相关问题

  • 在ASP中,如何把一个HEX字符串转换成相应的BIN?
  • turbo c 2.0是32位的吗?可以把程序编译成二进制格式吗?比如.HEX和.BIN,多谢!
  • turbo c 2.0是32位的吗?可以把程序编译成二进制格式吗?比如.HEX和.BIN,多谢! tasm5.0呢?不过好像不是免费的
  • 什么是utf
  • bin---txt??
  • HEX转换为ASCII
  • hex码是什么?
  • 什么是UTF字符?
  • bin 是 什 么?
  • about bin folder

关键词

  • 转换
  • 汉字
  • unicode
  • f5c
  • iconv
  • utf
  • 合作
  • gb2312
  • 表示
  • str

得分解答快速导航

  • 帖主:javavip
  • xuzuning

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo