我試圖在Linux下運行的設備上顯示像英鎊一樣的字符。 它使用的是utf-8字符集格式。 當我得到顯示包含特殊字符的字符串時,它也顯示其他字符。 如果我在控制檯上打印字符串,它看起來好,但是當我解析字符串來加載屏幕上的每個字母字體時,它變得很奇怪,並且輸出不正確。顯示帶有特殊字符的字體 - UTF-8
有沒有人經歷過這樣的事情,或能夠給我一些建議。
謝謝。
我試圖在Linux下運行的設備上顯示像英鎊一樣的字符。 它使用的是utf-8字符集格式。 當我得到顯示包含特殊字符的字符串時,它也顯示其他字符。 如果我在控制檯上打印字符串,它看起來好,但是當我解析字符串來加載屏幕上的每個字母字體時,它變得很奇怪,並且輸出不正確。顯示帶有特殊字符的字體 - UTF-8
有沒有人經歷過這樣的事情,或能夠給我一些建議。
謝謝。
如果字符串是UTF-8,則需要使用諸如TTF_RenderUTF8_Solid()的調用。這對於True Type字體。
如果你有你自己的字體和字體爲你的字體,那麼你需要將你的UTF-8字符串轉換爲UTF-16(最常用)或UTF-32(如果支持i18n),然後使用它索引到字形表中。
當字體跨越ASCII限制時,無法將utf-8字符串的單個字節解析爲有效字符。
參考這些代碼片段:http://unicode.org/faq/utf_bom.html
謝謝你,我現在就試試看。 – seven 2010-04-20 19:58:14
你怎麼顯示的字符串,在第一種情況下,你用哪個即庫或者功能? – quinmars 2010-04-20 12:09:52
控制檯我使用printf(),對於我使用sdl的字體。 – seven 2010-04-20 13:18:22
你正在使用什麼語言環境? – fpmurphy1 2010-04-20 13:39:31