日期:2014-05-17  浏览次数:20614 次

php 中文文字水印乱码,求赐教
本帖最后由 zhangrun1 于 2012-12-03 11:43:19 编辑
几处编码设置:
文件:

头:

代码:

结果:

详细代码:


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Default Examples</title>
</head>
<body>
<?php

/* 
* 功能:PHP图片水印 (水印支持图片或文字) 
* 参数: 
* $groundImage 背景图片,即需要加水印的图片,暂只支持GIF,JPG,PNG格式; 
* $waterPos 水印位置,有10种状态,0为随机位置; 
* 1为顶端居左,2为顶端居中,3为顶端居右; 
* 4为中部居左,5为中部居中,6为中部居右; 
* 7为底端居左,8为底端居中,9为底端居右; 
* $waterImage 图片水印,即作为水印的图片,暂只支持GIF,JPG,PNG格式; 
* $waterText 文字水印,即把文字作为为水印,支持ASCII码,不支持中文; 
* $textFont 文字大小,值为1、2、3、4或5,默认为5; 
* $textColor 文字颜色,值为十六进制颜色值,默认为#FF0000(红色); 

* 注意:Support GD 2.0,Support FreeType、GIF Read、GIF Create、JPG 、PNG 
* $waterImage 和 $waterText 最好不要同时使用,选其中之一即可,优先使用 $waterImage。 
* 当$waterImage有效时,参数$waterString、$stringFont、$stringColor均不生效。 
* 加水印后的图片的文件名和 $groundImage 一样。 
* 作者:longware @ 2004-11-3 14:15:13 
*/
function imageWaterMark($groundImage, $waterPos = 0, $waterImage = "", $waterText = "", $textFont = 5, $textColor = "#FF0000") {
 $isWaterImage = FALSE;
 $formatMsg = "暂不支持该文件格式,请用图片处理软件将图片转换为GIF、JPG、PNG格式。";
 
 //读取水印文件 
 if (! empty ( $waterImage ) && file_exists ( $waterImage )) {
  $isWaterImage = false;
  $water_info = getimagesize ( $waterImage );
  $water_w = $water_info [0]; //取得水印图片的宽 
  $water_h = $water_info [1]; //取得水印图片的高 
  

  switch ($water_info [2]) //取得水印图片的格式 
{
   case 1 :
    $water_im = imagecreatefromgif ( $waterImage );
    break;
   case 2 :
    $water_im = imagecreatefromjpeg ( $waterImage );
    break;
   case 3 :
    $water_im = imagecreatefrompng ( $waterImage );
    break;
   default :
    die ( $formatMsg );
  }
 }
 
 //读取背景图片 
 if (! empty ( $groundImage ) && file_exists ( $groundImage )) {
  $ground_info = getimagesize ( $groundImage );
  $ground_w = $ground_info [0]; //取得背景图片的宽 
  $ground_h = $ground_info [1]; //取得背景图片的高 
 &nb