在MYSQL中有一个字段是PHOTO 
字段内容为  山水20061813.jpg 
我想改为20061813.jpg,   最好能过批量替换,
就是说把中文去掉。
 谢谢各位大虾了这关系到我的饭碗问题!!急

解决方案 »

  1.   

    我没有什么好的方法
    只是觉得你去掉中文可能就是因为不支持中文的缘故如果你的图片名称有什么命名规则的话(××日期.jpg),可以直接截取字符串,update table1 set PHOTO=right(PHOTO,12);要么就是,反正你要去掉中文,不如这样 update table1 set PHOTO=concat(md5(PHOTO),'.jpg');出来的不可能有中文了,只要字母和数字了ps:饭碗要没了?这么可怕,那也不多拿点分?看来没那么严重哦 ;)
      

  2.   

    rename('山水20061813.jpg ','20061813.jpg');
      

  3.   

    写段小程序来改似乎很简单啊.随便用vb,delphi或asp,jsp,php都能吧.
      

  4.   

    大哥,你从后面取一定长度不就行了。substr()可以实现。
    遍历目录内的文件,然后到取后几位,重命名,然后不就可以了。
      

  5.   

    <?php先接连数据库,选择数据表。$count=500; //改成你表中的记录总数
    for($i=0; $i< $count; $i++)
    {
    $str="山水20061813.jpg"; //这里用你的PHOTO[$i]字段值
    $new_str=eregi_replace("([^a-zA-Z0-9_\.])+","",$str); //这个正则表达式是关键

    $sql="在这里写update语句,将$new_str写回where的关键字PHOTO的值为$str的地方";
    再执行更新操作
    }
    //echo "更新完毕,你的饭碗又加了菜!^_^"; 
    ?>
      

  6.   

    另外,你也可以在mysql里用正则表达式替换!google一下吧。
      

  7.   

    看见你饭碗快没了,我着急的进来一看,原来你才整了20分,看来你还是不着急啊!这个可以用程序将数据库中的记录取出来,然后正则去掉中文,在写回去!
    query(取出值和ID)
    while( 取出值赋给变量 ) {
       正则去掉中文;
       query(更新数据 id=前面取出的ID);
    }
    批量就完成了!