<?php$image='小图.jpg';
$percent=0.05;
$im=getimagesize($image);
$width=$im[0];
$hight=$im[1];
switch ($im[2]) {
case 1:
$im=@imagecreatefromgif($image);
break;
case 2:
$im=@imagecreatefromjpeg($image);
break;
case 3:
$im=@imagecreatefrompng($image);
break;
}$logo='1.jpg';
$im1=getimagesize($logo);
//print_r($im1);
switch ($im1[2]) {
case 1:
$im1=@imagecreatefromgif($logo);
break;
case 2:
$im1=@imagecreatefromjpeg($logo);
break;
case 3:
$im1=@imagecreatefrompng($logo);
break;
}
imagecopy($im,    $im1,   700,-100,0,0,'440','771');
//       底下图     上面图        
$te=imagecolorallocate($im,255,255,255);imagettftext($im,12,0,20,20,$te,'../simhei.ttf','新年快乐');
$newwidth=$width*$percent;
$newheight=$hight*$percent;
$new=imagecreatetruecolor($newwidth,$newheight);
imagecopyresized($new,$im,0,0,0,0,$newwidth,$newheight,$width,$hight);header("Content-type: image/jpeg");
imagejpeg($new);//编译图片
//if(imagejpeg($im,'new.jpg')){
// echo "水印成功";
//}
//imagejpeg($new,'小图.jpg');
//imagejpeg($im,'大图.jpg');
?>创建中文名的图片结果是乱码。。php是utf-8的,

解决方案 »

  1.   

    你的操作系统也是 utf-8 编码的吗?
      

  2.   

    推荐你使用iconv函数转换文件名称编码为gbk试试
      

  3.   

    php如果是utf-8的. 文件名转成gb2312$image=iconv('小图.jpg'..........;
      

  4.   

    本帖最后由 xuzuning 于 2012-03-22 19:03:46 编辑
      

  5.   

    php本身是不支持中文的,要转一下。
    具体步骤如下:
    $image=iconv("UTF-8", "gb2312", $image);
    第一个参数是输入的字符编码,第二个是你想要转的字符编码,第三个是被转换的字符串。
      

  6.   

    将该php文件另存为。注意保存的编码
      

  7.   

      
    //服务器环境的系统,跟这个也有关系的,特别是linux的,得看本身系统支持否还有,最好不要用中文命名,一般都采用 有一定意义的名字加时间 来命名,用字母+时间
      

  8.   

    在window上最好都使用utf-8, 并且显性地声明,不管是不是静态页面,不要用中文名