所以我想使用SetThreadLocale將線程代碼頁設置爲UTF8。到目前爲止,我一直在使用atl字符串轉換宏的第二個參數,如「CT2A(szBUF,CP_UTF8)」來做到這一點。但我希望能夠使用SetThreadLocale()一次性地設置線程代碼頁,而不必再次使用轉換宏的第二個參數。SetThreadLocale和UTF8
我該怎麼做? SetThreadLocale不會像CP_UTF8那樣採用代碼頁參數,只是一個LCID。我應該給SetThreadLocale提供什麼參數來實現這個?
請記住,我沒有考慮到特定的語言。我得到的字符串可能是日文,韓文,英文等等。到目前爲止,在將CP_UTF8指定爲轉換宏的第二個參數時,我對這種字符串組合沒有任何問題。你可能會問「爲什麼不繼續使用第二個參數」。答案「,因爲它可以很容易被代碼工作的團隊成員遺忘,如果它能夠正確使用轉換宏的默認1參數版本,那將是非常好的。」
這個解釋很有道理,謝謝。是的,我想我只是要使用第二個參數。似乎並不是爲線程設置代碼頁的簡單方法。 – 2009-06-30 14:31:21