如何在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(0xBC).chr(0xBC).chr(0xBC).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,2555,005,000); im,20,0,4,40,$yellow,"simkai.ttf",$cur_count);
ImageGif($im);
ImageDestroy($im);
?>