解決bat腳本輸出中文亂碼


亂碼原因

Windows的cmd.exe默認編碼格式為ANSI。簡體中文版的Windows, 其ANSI對應微軟Codepage為cp936
如果你的bat文件是UTF-8編碼的, 或者是是其他Codepage下創建的, 當bat文件編碼與當前cmd環境不一致時, 雙擊執行時就會亂碼

解決方法

臨時處理方式(推薦)

  • 首先我們打開在運行輸入框等方式打開cmd窗口后,在窗口頂部右擊選擇屬性,選中選項后會看到默認編碼為gbk
    image
  • 我們也可以輸入chcp命令后回車,會輸出圖中的結果,936就表示gbk編碼
    image
  • 在窗口中輸入chcp 65001(65001代表utf-8編碼),然后回車,即可看到窗口默認編碼為utf-8編碼
    image
  • 所以在腳本執行開始的位置加上一句 chcp 65001 即可解決亂碼問題

修改注冊表

上面的方法每次都要重新設置,接下來的方法是自動修改,按照圖中的路徑打開command processor項,計算機\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor

如下所示新建字符串值autorun,輸入數值數據chcp 65001,點擊確定保存,即可完成設置了
image

修改文件編碼格式

比如將UTF-8格式bat文件, 將文件另存, 指定為ANSI編碼, 保存
image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM