很多人都想在PHP圖形函數中顯示漢字,但一直沒有滿意的結果。本文作者在參考了別人文章基礎上提出一個在PHP圖形函數中顯示漢字的方法!
具體方法如下:
首先,決定要顯示哪些漢字,如“計數器”這三個字。
到Word2000(97不知可不可以)中去,輸入這三個字,另存為,選擇編碼格式,然后再在右邊的編碼類型里選擇unicodeutf-8,記住一定要選擇這個。存成一個編碼格式的文本文件,比如說文件名叫test.txt。
用一個16進制的編輯器打開這個文件,這時你會看到,里面有一堆16進制字符,一個漢字占三個字節,所以這里,你應該找到前面9個字節的內容,記下來。
再開始編輯.php文件,用如chr(0xE6).chr(0x88)的格式寫下來,再賦給一個變量,再用ImageTTFText()函數輸出。你看到了什么?
如果你什么都沒看到,那么你需要再看一下你的那些16進制代碼是否無誤,當然,顯示漢字所需的字體文件你也要拷到適當的位置哦!我這段程序中用的是windows自帶的楷體。
不過這樣還是很麻煩,畢竟還需要用到另外兩個工具,如果能有一個函數直接將漢字轉換成utf-8編碼就更好了。大家再找找資料吧!
這一串utf-8字串表示的是“我愛你!”
******************************/
$cur_count=chr(0xE6).chr(0x88).chr(0x91).chr(0xE7).chr(0x88).chr(0xB1).chr(0xE4).chr(0xBD).chr(0xA0).chr(0xEF).chr(0xBC).chr(0x81);
Header("Content-type:image/gif");
$im=imagecreate(156,116);
$black=ImageColorAllocate($im,0,0,0);
$blue=ImageColorAllocate($im,0,0,255);
$white=ImageColorAllocate($im,255,255,255);
$yellow=ImageColorAllocate($im,255,255,0);
ImageTTFText($im,20,0,4,40,$yellow,"simkai.ttf",$cur_count);
ImageGif($im);
ImageDestroy($im);
?>
新聞熱點
疑難解答