一個程序或控件,如果想要有更大的市場,國際化是一種必然的趨勢。要使軟件國際化,其編碼必須支持多語,否則有可能在你的程序中,僅在某個版本的操作系統底下好用,而在另外的操作系統中卻是亂碼。VC對多語的支持相對于VB來說還是簡單了很多,其自身提供了支持多語的機制。在實際工作中,在VC中進行多語化編譯,我總結出以下一些要點:
1、首先應該預編譯指令中定義UNICODE或_UNICODE,使用了這個預編譯指令,在使用WindowsAPI時,系統就會自動使用W版的API函數及結構
2、聲明字符串必須用TCHAR,而不能用char
3、對于字符串操作的相關函數處理,如strcpy用wcscpy的代替等等
4、所有的字符串值,必須加上宏_T()
5、如果在程序中使用了STL,必須使用必須使用其w版的函數及類型,比如string就得用wstring來代替,在我的程序中,使用了如下預編譯指令:
#ifdef _UNICODE
#define tstring wstring
#else
#define tstring string
#endif
這樣在程序中用tstring來聲明字符串。所有與string相關的函數都必須作這這樣的處理。比如stringstream、ostream等等。
關于編碼的問題請參考下面文章:
http://dev.csdn.net/develop/article/72/72002.shtm