当前位置:七道奇文章资讯网站建设网站美工
日期:2010-10-16 19:16:00  来源:本站整理

<b>UCenter与Discuz编码不统一的兼容处理办法</b>[网站美工]

赞助商链接



  本文“<b>UCenter与Discuz编码不统一的兼容处理办法</b>[网站美工]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

案例:

UCenter采取的字符编码是GBK,Discuz论坛A采取的编码是UTF-8,Discuz论坛B采取的编码方法是GBK.整合后问题以下:

在论坛A注册的中文用户名可以在论坛A登录,但无法在论坛B登录.英文及数字用户名不受影响.

解析:

论坛A采取的是UTF-8编码,它传送给UCenter的数据也是UTF-8的,所以增添到UCenter数据库的数据也是UTF-8的.在论坛B中以GBK方法读取这些数据时,就会呈现问题.(在UCenter中看到这些数据均为乱码)

办理:

改正论坛A的UCenter接口,强迫改正其发送给UCenter的数据编码方法为GBK,并强迫返回的数据为UTF-8.

改正uc_client目录下的client.php文件中的uc_api_post函数为以下:
 

  1. // edit by redice  
  2. function uc_api_post($module, $action, $arg = array()) {  
  3. $s = $sep = '';  
  4. foreach($arg as $k => $v) {  
  5. // 强迫转换编码方法为gb2312,以兼容通行证  
  6. $k=iconv( "UTF-8", "gb2312",$k);  
  7. $k = urlencode($k);  
  8. if(is_array($v)) {  
  9. $s2 = $sep2 = '';  
  10. foreach($v as $k2 => $v2) {  
  11. // 强迫转换编码方法为gb2312,以兼容通行证  
  12. $k2=iconv( "UTF-8", "gb2312",$k2);  
  13. $k2 = urlencode($k2);  
  14. // 强迫转换编码方法为gb2312,以兼容通行证  
  15. $tmp=iconv( "UTF-8", "gb2312",uc_stripslashes($v2));  
  16. $s2 ."$sep2{$k}[$k2]=".urlencode($tmp);  
  17. $sep2 = '&';  
  18. }  
  19. $s .= $sep.$s2;  
  20. } else {  
  21. // 强迫转换编码方法为gb2312,以兼容通行证  
  22. $v=iconv( "UTF-8", "gb2312",uc_stripslashes($v));  
  23.  
  24. $s ."$sep$k=".urlencode($v);  
  25. }  
  26. $sep = '&';  
  27. }  
  28. $postdata = uc_api_requestdata($module, $action, $s);  
  29.  
  30. $result=uc_fopen2(UC_API.'/index.php', 500000, $postdata, '', TRUE, UC_IP, 20);  
  31. // 强迫转换编码方法为utf-8,以兼容校友会论坛  
  32. return iconv( "gb2312", "UTF-8",$result);  
  33. }   

  以上是“<b>UCenter与Discuz编码不统一的兼容处理办法</b>[网站美工]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .