❶ visual studio怎麼修改為utf-8
UTF-8 屬於unicode家族,主要應用於文本交換(與ASCII表面兼容的網路傳輸、文件存儲...),是一個處理效率較低的編碼,OS API一般都沒有支持(可能沒有必要),所以把整個程序構造為UTF-8編碼,應該會使問題復雜起來.
通常的做法是需要的時候,進行編碼轉換!
❷ C語言控制台程序,中文輸出變成亂碼,怎麼解決
這里涉及到一個字元在源代碼(文本)中,編譯好的二進制文件中,以及最後控制台輸出編碼形式的區別.
首先,要明確一點:C(語言/程序)並不理解ANSI,UTF-8以及任何其他編碼.它只知道處理你給它的字元的二進製表示.
在簡體中文Windows下,默認的文本保存編碼是ANSI(即GBK);Linux下根據系統locale設定,一般應該是(zh_CN.UTF-8).(以下基於簡體中文Windows)
1)對於源文件中保存的"中文"這個字元串,VS2008看到的就是"0xd6d0"和"0xcec4"的形式(默認ANSI編碼得到).但編譯器才不管是不是GBK神馬的,它就管那串數字.
區別,MinGW看到的是"0xe4b8ad"和"0xe69687"(gcc默認UTF-8).注意,用MinGW編譯的源文件中有中文寬字元必須保存為UTF-8編碼.
2)然後,在二進制文件中的存儲形式,對傳統的字元串(char str[] = "中文";),編譯器什麼都不做,直接把那串數字(如"0xd6d0","0xcec4")搬過去塞進二進制文件.
但對於寬字元串(wchar_t wstr[] = L"中文";),編譯器會將其做轉換,轉換成Unicode編碼格式(在Windows是UTF-16,而Linux下是UTF-32).如"中文"的16位Unicode是"0x4e2d"和"0x6587",然後把這串轉換後的數字("0x4e2d","0x6587")塞進二進制文件中.(這里VS和MinGW做的沒有區別)
這里有點需要注意,編譯器必須知道你的源文件保存的編碼!如VS默認是ANSI編碼,如果你用UTF-8保存.c源文件去用VS打開看一定是亂碼.同理如果你用mingw編譯ANSI編碼保存的源文件,也會出錯!(但可以修改編譯選項解決,見文章末尾) 在本文這里這個原因其實很好理解,因為編譯器需要知道,如果它要將一個保存在文件中的字元轉成寬字元時,是從什麼編碼轉到Unicode.(可見上述VS是GBK->Unicode,而MinGW是UTF-8->Unicode)
❸ 這是VS2010編譯器優化嗎怎麼改
這個問題比較深, 所以只有哥來回答你了。
你說的問題在VS2008上也是相同的表現,這個是因為微軟的庫實現不是直接實現在你call的generate_n這個函數上的,而是有好幾重轉調,所以造成你即使對第一重調用的 模板函數用 引用去實例化,由於後面轉調的函數都是使用值去實例化的,所以實際你得到的運行效果還是值語義的。
比如你call 函數 func1<A&>(), 但是由於func1<A&>() 調用了func2<A>(), 又繼續調用了func3<A>(), 最後func3里操作的其實是一個值拷貝,所以影響不到外面的引用的對象。
哥去 微軟報了個bug,裡面寫得比較細,你可以仔細看,http://connect.microsoft.com/VisualStudio/feedback/details/676282/vs-2010-sp1-doesnt-conform-to-the-c-standard-library-a-tutorial-and-reference
❹ 在VS2010中怎麼把文件保存時候默認的格式改為為UTF-8格式
各種軟體,在它的保護選項內都可以設置默認的格式,你只要找到這個選項,選中後點應用或確定就可以了,有的在保存菜單內,有的在工具選項內,也有的在編輯菜單下可以進入選項。
❺ VS編譯器!
這個和c++沒什麼關系,所有c代碼都可以直接移植,c++向下兼容c,代碼不能用估計是編譯器支持的c語言標准問題.
比如c99或者c11標准,如果是scanf不能用 需要改成s_scanf這樣的錯誤,那就是c標準的問題了,
或者你編譯器要是vs2010以上,十有八九就是編譯器的問題了,修改你的函數吧,新的安全規則比舊的好,學新的沒壞處
❻ vs 2013編譯器的問題,編譯的c語言,為什麼出錯了,可以幫我修改一下么
使用了不安全的函數scanf,有兩種解決方法,第一:使用scanf_s函數代替;第二:禁用該提示,具體,右擊工程 - 屬性 - 配置屬性 - C/C++ - 命令行,命令行增加 /D _CRT_SECURE_NO_WARNINGS
至於為什麼是不安全的函數,scanf()在讀取時不檢查邊界,所以可能會造成內存訪問越界,例如分配了5位元組的空間但是讀入了10位元組。為了解決這個安全問題,從vc++2005開始,提供scanf_s()函數,增加了一個指示長度的參數,如:char d[20];scanf_s("%s",d,20);
樓上有大神給出了c++的做法,也是不錯哦,不用考慮不安全函數問題了。
❼ vs代碼編輯器怎麼設置中文,網上不說怎麼保存ch-CN改不了。
1 Ctrl+Shift+p輸入「configure display language」點擊確定
2 修改locale.json文件下的屬性「locale」為「zh-CN」
改不了的看看你用管理員打開試試
❽ 怎麼將VS2013的默認編碼改為UTF8
修改成UTF8的方法:
1、windows->Preferences...打開"首選項"對話框, 左側導航樹,導航到general->Workspace,右側 Text file encoding,選擇Other,改變為UTF-8,以後新建立工程其屬性對話框中的Text file encoding即為UTF-8。
2、 windows->Preferences...打開"首選項"對話框,左側導航樹,導航到general->Content Types,右側Context Types樹,點開Text,選擇java Source File,在下面的Default encoding輸入框中輸入UTF-8,點Update,則設置Java文件編碼為UTF-8。其他java應用開發相關的文件 如:properties、XML等已經由MyEclipse預設指定,分別為ISO8859-1,UTF-8,如開發中確需改變編碼格式則可以在此指 定。
3、經過上述兩步,新建java文件即為UTF-8編碼,MyEclipse編譯、運行、調試都沒問題,但是做RCP應用的Proct輸 出時、或者插件輸出時,則總是出錯,要麼不能編譯通過(輸出時要重新compile)、要麼輸出的插件運行時中文顯示亂碼。此時需要再RCP應用、或插件 Plugin工程的build.properties中增加一行,javacDefaultEncoding.. = UTF-8。讓輸出時編譯知道java源文件時UTF-8編碼。這個設置需要保證所有的java源文件時UTF-8編碼格式,如果不全是,可以參考 MyEclipse幫中(Plug-in Development Environment Guide > Reference > Feature and Plug-in Build configuration),建議全部java源文件是UTF-8編碼。
❾ 怎麼修改vs2015 的編碼格式,解決中文亂碼
兩個方法選一:
1.運行注冊表工具regedit.exe,搜索所有的svgasys.fon,大概有兩到三個,將它們全部改為vgasys.fon,重新啟動機器後問題解決。