返回   CHF站长论坛 > 特色讨论区 > 帝国(Ecms)交流专栏

帝国(Ecms)交流专栏 帝国内容管理系统(Ecms)官方技术支持/BUG反馈/发展建议/模板。[官方]

双至强仅二千,企商在线,最早租用商 传世私服 魔域私服 亿恩1元帮您升级服务器! 天龙八部私服 传奇世界私服
传奇私服 仙境私服 天龙八部私服 传奇私服 传世私服 完美世界私服 魔域私服 传奇私服
发表新主题 回复
 
主题工具 主题评分 显示模式
旧 2006-01-30, 14:35   #1 (页面定位)
Clon
 
注册日期: 2005-09-09
帖子: 29
Clon 是普普通通的会员
默认 采集utf-8的站怎么处理啊

采集下来都是乱码

怎么方便转换成gb2312呢



[中文焦点网]:[http://www.jdwcn.com]
[DEDECMS+ChinaHTML风格完美演示站]
Clon 当前离线   回复时引用此帖
旧 2006-01-30, 14:45   #2 (页面定位)
小叶
 
注册日期: 2005-09-04
住址: 火星人
帖子: 17759
小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星
默认

不支持utf-8的。我已经就这个问题骂个WC,人家不嬲我。


匆匆人生中,你做了几件令自己骄傲的事呢?
小叶 当前离线   回复时引用此帖
旧 2006-01-30, 19:36   #3 (页面定位)
Clon
 
注册日期: 2005-09-09
帖子: 29
Clon 是普普通通的会员
默认

哈哈
WC不厚道
客户就是上帝啊

“嬲”怎么发音咯?


[中文焦点网]:[http://www.jdwcn.com]
[DEDECMS+ChinaHTML风格完美演示站]
Clon 当前离线   回复时引用此帖
旧 2006-01-30, 19:49   #4 (页面定位)
雪蜘蛛
 
注册日期: 2006-01-30
帖子: 14
雪蜘蛛 是普普通通的会员
默认

引用:
作者: Clon
采集下来都是乱码

怎么方便转换成gb2312呢

如果你确认汉字在数据库里是UTF8形式的乱码.
一是采集的时候用GBK的形式存入.
二是在输出的时候用下面的代码把UTF8转成GB2312.

PHP 代码:
function u2g$instr ) { 
    
$fp fopen'unicode-gb.tab''r' ); 
    
$len strlen($instr); 
    
$outstr ''
    for( 
$i $x $i $len $i++ ) { 
        
$b1 ord($instr[$i]); 
        if( 
$b1 0x80 ) { 
            
$outstr[$x++] = chr($b1); 
#            printf( "[%02X]", $b1); 
        

        elseif( 
$b1 >= 224 ) {    # 3 bytes UTF-8 
            
$b1 -= 224
            
$b2 ord($instr[$i+1]) - 128
            
$b3 ord($instr[$i+2]) - 128
            
$i += 2
            
$uc $b1 4096 $b2 64 $b3 
            
fseek$fp$uc ); 
            
$gb fread$fp); 
            
$outstr[$x++] = $gb[0]; 
            
$outstr[$x++] = $gb[1]; 
#            printf( "[%02X%02X]", ord($gb[0]), ord($gb[1])); 
        

        elseif( 
$b1 >= 192 ) {    # 2 bytes UTF-8 
#            printf( "[%02X%02X]", $b1, ord($instr[$i+1]) ); 
            
$b1 -= 192
            
$b2 ord($instr[$i]) - 128
            
$i++; 
            
$uc $b1 64 $b2 
            
fseek$fp$uc ); 
            
$gb fread$fp); 
            
$outstr[$x++] = $gb[0]; 
            
$outstr[$x++] = $gb[1]; 
#            printf( "[%02X%02X]", ord($gb[0]), ord($gb[1])); 
        

    } 
    
fclose($fp); 
    if( 
$instr != '' ) { 
#        echo '##' . $instr . " becomes " . join( '', $outstr) . "<br>\n"; 
        
return join''$outstr); 
    } 

记得下载对应的unicode-gb.tab 要不转换不了.


*cms的dezender版本.NC的dezender版本.DZ的开源版本.爽.
雪蜘蛛 当前离线   回复时引用此帖
旧 2006-01-31, 16:36   #5 (页面定位)
Clon
 
注册日期: 2005-09-09
帖子: 29
Clon 是普普通通的会员
默认

方法不错

可是用的是ECMS3.6自带的采集
怎么改啊


[中文焦点网]:[http://www.jdwcn.com]
[DEDECMS+ChinaHTML风格完美演示站]
Clon 当前离线   回复时引用此帖
旧 2006-01-31, 23:10   #6 (页面定位)
雪蜘蛛
 
注册日期: 2006-01-30
帖子: 14
雪蜘蛛 是普普通通的会员
默认

修改模板啊,在从数据库中检索后的变量上,加一个转换就可以了.


*cms的dezender版本.NC的dezender版本.DZ的开源版本.爽.
雪蜘蛛 当前离线   回复时引用此帖
旧 2006-02-01, 20:05   #7 (页面定位)
小叶
 
注册日期: 2005-09-04
住址: 火星人
帖子: 17759
小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星
默认

那要改的地方就多了,
帝国的整个后台,就nnd两三个文件,功能都放一块了。
估计页面肯定问题多多。


匆匆人生中,你做了几件令自己骄傲的事呢?
小叶 当前离线   回复时引用此帖
旧 2006-02-10, 12:20   #8 (页面定位)
kenshin770
 
注册日期: 2005-11-28
帖子: 544
kenshin770 是普普通通的会员
默认

我想采集自己的utf8~BBS~同召唤utf8版本
kenshin770 当前离线   回复时引用此帖
回复

书签

标签

主题工具
显示模式 对此主题评分
对此主题评分:



所有时间均为北京时间。现在的时间是 18:15