」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何從 Windows 上的 C++ 控制台應用程式列印 UTF-8?

如何從 Windows 上的 C++ 控制台應用程式列印 UTF-8?

發佈於2024-12-22
瀏覽:569

How to Print UTF-8 from C   Console Applications on Windows?

在Windows 上從C 控制台應用程式列印UTF-8

使用Visual Studio 2008 在英文Windows 系統上開發C 主機應用程式時,使用者可能會在顯示UTF- 時遇到挑戰8 透過cout或wcout正確編碼內容。以下是解決此問題的方法:

解決方案:

解決方案涉及將控制台的輸出代碼頁設定為支援 UTF-8。請依照下列步驟操作:

  1. 包含 頭檔。
  2. 使用 #pragmaexecution_character_set 指令將執行字元集設定為 UTF-8。
  3. 在主函數中,呼叫SetConsoleOutputCP(65001)將輸出碼頁變更為UTF-8。
  4. 利用 printf 輸出 UTF-8 編碼的文字。

程式碼範例:

#include 
#include 

#pragma execution_character_set("utf-8")

int main()
{
    SetConsoleOutputCP(65001);
    printf("Testing unicode -- English -- Ελληνικά -- Español -- Русский. aäbcdefghijklmnoöpqrsßtuüvwxyz\n");
}

其他提示:

  • 將原始檔另存為Unicode(帶簽名的UTF-8)- 代碼頁65001.
  • 設定項目->屬性->配置屬性->常規->字元集使用 Unicode 字元集
  • 雖然可能建議將控制台字體更改為 Lucida Console,但在這種情況下不需要正確顯示。
最新教學 更多>
  • NULL值對MySQL性能和存儲的影響:不同引擎的解析
    NULL值對MySQL性能和存儲的影響:不同引擎的解析
    [2 [2 根據所選的存儲引擎,零值對MySQL的性能和存儲的效果都有很大變化。 [2 存儲效率:[2 重要的是要記住,對零值的優化通常被視為微優化。 性能增長通常微不足道。 優先考慮精心設計的索引和足夠的數據庫緩存通常會提供更大的性能改進。
    程式設計 發佈於2025-04-12
  • 為什麼PHP的DateTime :: Modify('+1個月')會產生意外的結果?
    為什麼PHP的DateTime :: Modify('+1個月')會產生意外的結果?
    使用php dateTime修改月份:發現預期的行為在使用PHP的DateTime類時,添加或減去幾個月可能並不總是會產生預期的結果。正如文檔所警告的那樣,“當心”這些操作的“不像看起來那樣直觀。 ; $ date->修改('1個月'); //前進1個月 echo $ date->...
    程式設計 發佈於2025-04-12
  • 如何使用Python有效地以相反順序讀取大型文件?
    如何使用Python有效地以相反順序讀取大型文件?
    在python 中,如果您使用一個大文件,並且需要從最後一行讀取其內容,則在第一行到第一行,Python的內置功能可能不合適。這是解決此任務的有效解決方案:反向行讀取器生成器 == ord('\ n'): 緩衝區=緩衝區[:-1] ...
    程式設計 發佈於2025-04-12
  • jQuery光標操作6大函數
    jQuery光標操作6大函數
    以下是一些強大的jQuery代碼片段,用於操作鼠標光標!它們可以用於設置和獲取輸入和文本區域字段中的文本光標位置以及選擇範圍。盡情享受吧! // jQuery 获取光标位置函数调用示例 $("input[name='username']").getCursorPosition(); jQuery...
    程式設計 發佈於2025-04-12
  • C++中Unnamed Namespaces與Static關鍵字:誰更優越封裝?
    C++中Unnamed Namespaces與Static關鍵字:誰更優越封裝?
    Unveiling the Superiority of Unnamed Namespaces over the Static KeywordIntroduction:The use of the static keyword has been consistently questioned in ...
    程式設計 發佈於2025-04-12
  • Go類型別名導致類型斷言失敗的原因
    Go類型別名導致類型斷言失敗的原因
    [2 導入“ FMT” 鍵入Funcy Func(int)bool Func Funcy(I Int)Bool { 返回i%2 == 0 } func main(){ var a界面{} = funcy _ = a。 (func(int)布爾)// fmt.print...
    程式設計 發佈於2025-04-12
  • Python讀取CSV文件UnicodeDecodeError終極解決方法
    Python讀取CSV文件UnicodeDecodeError終極解決方法
    在試圖使用已內置的CSV模塊讀取Python中時,CSV文件中的Unicode Decode Decode Decode Decode decode Error讀取,您可能會遇到錯誤的錯誤:無法解碼字節 在位置2-3中:截斷\ uxxxxxxxx逃脫當CSV文件包含特殊字符或Unicode的路徑逃...
    程式設計 發佈於2025-04-12
  • NOT EXISTS vs. NOT IN vs. LEFT JOIN NULL: 選哪個SQL子句?
    NOT EXISTS vs. NOT IN vs. LEFT JOIN NULL: 選哪個SQL子句?
    [2 理解sql的,不存在,:比較分析 SQL提供了各種方法,用於比較跨表的數據並根據零值過濾結果。 掌握[之間的差異,, [2 這兩個子句在相關表中檢查沒有匹配行的情況。 它們的關鍵區別在於無效處理: 不存在在中不在:returns true 僅在不存在非null匹配時。 任何nulls...
    程式設計 發佈於2025-04-12
  • 如何使用node-mysql在單個查詢中執行多個SQL語句?
    如何使用node-mysql在單個查詢中執行多個SQL語句?
    Multi-Statement Query Support in Node-MySQLIn Node.js, the question arises when executing multiple SQL statements in a single query using the node-mys...
    程式設計 發佈於2025-04-12
  • 如何使用PHP從XML文件中有效地檢索屬性值?
    如何使用PHP從XML文件中有效地檢索屬性值?
    從php $xml = simplexml_load_file($file); foreach ($xml->Var[0]->attributes() as $attributeName => $attributeValue) { echo $attributeName,...
    程式設計 發佈於2025-04-12
  • jQuery.height()為何返回隱藏元素的值?
    jQuery.height()為何返回隱藏元素的值?
    在這種情況下,具有ID“ target”的元素具有通過CSS設置為“無”的元素。但是,當使用$(“#target”)檢查其高度時。 If an element has an offsetWidth of 0 (considered "hidden" by jQuery), th...
    程式設計 發佈於2025-04-12
  • HTML5全屏API使用指南 - SitePoint
    HTML5全屏API使用指南 - SitePoint
    If you don’t like change, perhaps web development isn’t for you. I previously described the Full-Screen API in late 2012 and, while I claimed the im...
    程式設計 發佈於2025-04-12
  • 如何通過單擊鼠標單擊的div中編程選擇所有文本?
    如何通過單擊鼠標單擊的div中編程選擇所有文本?
    在鼠標上選擇div文本單擊帶有文本內容,用戶如何使用單個鼠標單擊單擊div中的整個文本?這允許用戶輕鬆拖放所選的文本或直接複製它。 在單個鼠標上單擊的div元素中選擇文本,您可以使用以下Javascript函數: function selecttext(canduterid){ if(d...
    程式設計 發佈於2025-04-12
  • Java中ArrayList轉String\[\]數組方法
    Java中ArrayList轉String\[\]數組方法
    在java Converting using toArray() MethodThe toArray() method is a convenient way to convert an ArrayList to a String[].它接受數組作為參數,其中的元素被複製到其中。以下代碼片段演示了...
    程式設計 發佈於2025-04-12
  • 如何干淨地刪除匿名JavaScript事件處理程序?
    如何干淨地刪除匿名JavaScript事件處理程序?
    刪除匿名事件偵聽器將匿名事件偵聽器添加到元素中會提供靈活性和簡單性,但是當要刪除它們時,可以構成挑戰,而無需替換元素本身就可以替換一個問題。 element? element.addeventlistener(event,function(){/在這里工作/},false); 要解決此問題,請考...
    程式設計 發佈於2025-04-12

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3