編譯VC++程序的時(shí)候出現(xiàn)如下提示警告:
warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss
因?yàn)橹皇且粋€(gè)warning,不影響正常編譯,所以并沒有引起大家多大的關(guān)注。我一開始的時(shí)候也是如此。但是后來出現(xiàn)的次數(shù)多了,發(fā)現(xiàn)這個(gè)警告和在程序Debug的時(shí)候
無法停在斷點(diǎn),刷刷刷就過去了根本無法進(jìn)行Debug。而罪魁禍?zhǔn)拙褪沁@個(gè)warning,改正了這個(gè)warning就能進(jìn)行Debug了。
下面講述我是怎么消除這個(gè)警告的。
這個(gè)警告的意思是:在該文件中有一個(gè)或多個(gè)字符不是Unicode字符!要求把這個(gè)字符變成Unicode字符。
難題:在編譯信息里并沒有提示是哪個(gè)字符,或者是在哪一行里出現(xiàn)的該字符。查找起來非常的難,甚至是不可能的任務(wù)!
我在網(wǎng)絡(luò)上找了好多資料都沒有找到解決方法。因?yàn)榇蠹叶疾蛔⒁膺@個(gè)不影響編譯的警告。后來在一個(gè)國(guó)外的網(wǎng)站上找到了解決的方法。很簡(jiǎn)單,這個(gè)方法根本不需要知道具體是哪個(gè)字符在搗鬼!
解決方法:打開出現(xiàn)warning的文件,Ctrl+A全選,然后在文件菜單:file->advanced save options ,在彈出的選項(xiàng)中選擇新的編碼方式為:UNICODE codepage 1200 ,點(diǎn)擊確定,問題就解決了。