最近因為字符集的問題,搞來搞去總是有一些字符變成?號,想采用wchar_t替換原來的char,但是發現麻煩非常多,最郁悶的是一些類庫的參數要求采用char*,連最平常的exception也不支持wchar_t,望眾高手指教啊,用寬字符需要這麼麻煩嗎??比如那個OTL4,雖然聲稱支持寬字符,但是其中對象的參數,如連接字符串,SQL都要求傳人char字符串,只是查詢結果可以輸出Unicode編碼而已,這不讓人郁悶嗎?讓函數支持一下寬字符版本有多難,為什麼連OTL4被廣泛采用的庫都無視寬字符了,難道大家用它的時候都不用寬字符了,或者用寬字符都是將連接字符串,sql等轉換char再用?用寬字符解決亂碼不是很好的設想嗎?用寬字符調用本來就只支持寬字符的windows api不是很好嗎?為什麼實現起來那麼多麻煩事?真的需要這麼麻煩嗎??望高手指點迷津,或給個建議!
你要分清楚,一些庫是標准庫,標准庫必須安裝標准來,不是微軟或者哪家說了算的。一些庫(windows api, mfc, qt, ...)不是標准庫,怎麼方便怎麼來。