日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Visual Studio 2017 UTF-8 无 BOM 一站式解决办法

發布時間:2025/3/19 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Visual Studio 2017 UTF-8 无 BOM 一站式解决办法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題背景:最近撿起C++,使用VS 2017平臺。因為以前的編程習慣,喜歡使用UTF-8 無 BOM 的編碼格式,好讓自己的代碼全球通用。但是VS 2017 對這個問題不是很友善。但最終找到了解決辦法。

問題標簽:

  UTF-8 無 BOM 亂碼;UTF-8 無 BOM "常量中有換行符"錯誤提示;window cmd UTF-8 無 BOM 顯示亂碼;

  UTF-8 without BOM garbled; UTF-8 without BOM "Line breaks in constants" error message; window cmd UTF-8 without BOM shows garbled characters;

問題解決:

  一:解決自己源碼的編碼格式

    方法A(推薦):工具->擴展和更新->聯機->搜索 forceutf8??? 選擇No BOM 的那一個。???在你保存文件的時候,這個插件會將文件自動保存為UFT8 無 BOM。

    

    

    方案B:文件-> 另存為 ->編碼保存?? 選擇 UFT-8 無簽名

    

    

    方案C:高級保存選項(默認是隱藏的,可以調出來。方法自行百度或googl...),界面如下

?    

  二:設定編譯器 在編譯 鏈接 時的編碼格式,如果不設置,使用char數組保存字符時,會出現不可理解的錯誤提示 “常量中有換行符”或等等等問題

    (1)在你的解決方案創建完成并打開之后 選定此方案。然后 項目->屬性->(最好選擇所有配置 所有平臺)配置屬性->常規->字符集->使用多字節字符集

    注意:我自己使用中這個配置感覺并沒有效果,但是為了保險起見,還是選擇上吧。下面一個步驟比較重要。

    

    

    (2)在你創建C++的源文件后,才會出現C/C++配置欄。選定解決方案,參考上一步 項目->屬性->C/C++->命令行->輸入/utf-8并確定。

    這一步的解釋,可以參考官方文檔(推薦使用英文閱讀):https://docs.microsoft.com/zh-cn/cpp/build/reference/utf-8-set-source-and-executable-character-sets-to-utf-8?view=vs-2017

    

  三:設置window控制臺(又名CMD或命令行窗口)為UTF-8格式,解決顯示界面的編碼問題

    在自己的源代碼 加入 system("chcp 65001");如下:

    

#include <iostream> #include <string>using namespace std; int main() {system("chcp 65001");char x[] = "的";int i = x[0];int j = x[1];int k = x[2];cout << x << endl;cout << hex << i << endl;cout << hex << j << endl;cout << hex << k << endl;string str_out_1 = "你的名字?";string str_out_2 = "whats your name";cout << str_out_1 << endl << str_out_2 << endl;system("pause"); }

    結果:

    

    錯誤的結果(沒有寫入上面的代碼時):

    

總結

以上是生活随笔為你收集整理的Visual Studio 2017 UTF-8 无 BOM 一站式解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。