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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

vs2010 调试窗口debugger UTF8 显示汉字 乱码

發布時間:2025/3/19 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vs2010 调试窗口debugger UTF8 显示汉字 乱码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

謹記:vs默認debug調試顯示變量是?GB2312編碼,而開發中c、cpp文檔編碼格式通常需要UTF-8,在此文檔下漢字字符串已經是UTF8,調試窗口是用GB2312顯示亂碼(本身并未亂碼)所以需要借助S8說明符號。

UTF-8?支持中文字符,且跨平臺。

vs默認先識別BOM(找不到就按GBK格式編譯,這就坑了UTF-8),再選擇編碼格式是不是UTF-8,推薦vs編譯編碼格式 UTF-8?BOM。(博客其他篇幅中詳述,vs怎么用UTF-8:原理是:加一句話告訴編譯器別瞎整,全文就是UTF-8!別瞎搞!)

如上圖,項目是用utf-8編碼格式,但是調試窗口,中文顯示亂碼;

原因:調試窗口還假定文本是在本地窄字符集中編碼的,換句話說?調試窗口編碼是GB2312

解決辦法:

幸運的是,有's8'?格式說明符,這種方法可以顯示正確的值。如果我們將',s8'附加到變量名稱,Visual Studio將以UTF-8重新分析文本并正確呈現文本:(雙擊,Name下面的字段,加上,s8?)

要說明的是's8'格式說明符適用于普通字符數組,但不適用于std :: string變量。我去年向微軟報告了這一點,但他們顯然已將其修改為未來版本的Visual Studio。

那string怎么處理呢?我采用了曲線繞過的辦法,如下圖(先c_str()再,s8)

總結

以上是生活随笔為你收集整理的vs2010 调试窗口debugger UTF8 显示汉字 乱码的全部內容,希望文章能夠幫你解決所遇到的問題。

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