如何在PHP圖形函數中顯示漢字,大家已經問了很久了,但一直沒有結果。終於在參考另一篇文章後,我實驗出來了!
方法:
首先,決定要顯示哪些漢字,如“計數器”這三個字。
到Word2000(97不知可不可以)中去,輸入這三個字,另存新檔,選擇編碼格式,然後再在右邊的編碼類別型裡選擇unicode utf-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);
?>