欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Windows解決cmd/dos窗口中文亂碼問(wèn)題

 更新時(shí)間:2023年11月08日 09:38:18   作者:小青龍  
本文主要介紹了Windows解決cmd/dos窗口中文亂碼問(wèn)題,本文提供了多種解決方案,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

CMD/DOS窗口出現(xiàn)中文亂碼及解決方案(以下演示是在Win10系統(tǒng)),本文提供了多種解決方案,總有一款適合你。

一、問(wèn)題描述

有時(shí)候我們?cè)赾md窗口執(zhí)行命令或程序時(shí),會(huì)看到cmd窗口出現(xiàn)中文亂碼的問(wèn)題

中文亂碼問(wèn)題

這主要是因?yàn)閏md窗口默認(rèn)使用的是GBK編碼,如果命令或程序輸出的內(nèi)容編碼與cmd窗口使用的編碼不一致,就會(huì)出現(xiàn)中文亂碼的問(wèn)題

二、解決方案

解決方案主要有兩大類:
1.更改DOS窗口代碼頁(yè);
2.更改批處理文件編碼;

1. 更改DOS窗口代碼頁(yè)

如何查看當(dāng)前窗口的代碼頁(yè)?
方式1:在dos窗口頂部右鍵菜單 > 屬性 > 選項(xiàng) tab頁(yè) > 當(dāng)前代碼頁(yè)
方式2:在dos窗口輸入chcp命令查看

C:\Users\cyinl>chcp /?
顯示或設(shè)置活動(dòng)代碼頁(yè)編號(hào)。
CHCP [nnn]
nnn   指定代碼頁(yè)編號(hào)。
不帶參數(shù)鍵入 CHCP 以顯示活動(dòng)代碼頁(yè)編號(hào)。

(部分)代碼頁(yè)編號(hào)如下:

代碼頁(yè)描述
65001UTF-8 編碼
950繁體中文
936簡(jiǎn)體中文 GBK (默認(rèn))
437MS-DOS 美國(guó)英語(yǔ)

如何更改dos窗口代碼頁(yè)?
更改dos窗口代碼頁(yè)又分為多種方式,每種方式各有優(yōu)缺點(diǎn)。

方式1:更改dos窗口代碼頁(yè)(臨時(shí)有效)

在dos窗口 執(zhí)行chcp 65001更改dos窗口代碼頁(yè)
優(yōu)點(diǎn):切換代碼頁(yè)靈活,可以將chcp命令放到bat批處理文件內(nèi),臨時(shí)更改控制臺(tái)窗口的編碼格式
缺點(diǎn):僅對(duì)當(dāng)前窗口生效的,其他窗口或新打開(kāi)的dos窗口仍為默認(rèn)的936

C:\Users\cyinl>chcp 65001
Active code page: 65001
C:\Users\cyinl> 

驗(yàn)證,執(zhí)行curl www.baidu.com,可以看到中文亂碼問(wèn)題解決了

解決中文亂碼問(wèn)題

方式2:修改注冊(cè)表CodePage項(xiàng)(永久有效)

1)win+r 打開(kāi)運(yùn)行器,輸入regedit 回車,打開(kāi)注冊(cè)表;
2)在路徑計(jì)算機(jī)\HKEY_CURRENT_USER\Console\%SystemRoot%_System32_cmd.exe 找到CodePage 項(xiàng)(沒(méi)有的話新建一個(gè),DWORD類型);
3)修改CodePage的值為:十進(jìn)制65001 (對(duì)應(yīng)十六進(jìn)制:fde9)保存即可
優(yōu)點(diǎn):一勞永逸
缺點(diǎn):通過(guò).lnk 快捷方式打開(kāi)的dos窗口,默認(rèn)仍是 936(就很奇怪)

修改CodePage注冊(cè)表

對(duì)通過(guò)Win+R 打開(kāi)運(yùn)行,輸入cmd 回車,打開(kāi)的cmd窗口,進(jìn)行驗(yàn)證

Win+

對(duì)通過(guò)文件資源管理器,地址欄輸入cmd 回車,打開(kāi)的cmd窗口,進(jìn)行驗(yàn)證

文件資源管理器打開(kāi)的cmd

對(duì)雙擊C:\WINDOWS\System32\cmd.exe,打開(kāi)的cmd窗口,進(jìn)行驗(yàn)證

雙擊cmd.exe打開(kāi)的cmd窗口

對(duì)開(kāi)始菜單>Windows 系統(tǒng)>命令提示符搜索>輸入cmd>命令提示符 打開(kāi)的cmd窗口,進(jìn)行驗(yàn)證

搜索欄打開(kāi)cmd

開(kāi)始菜單打開(kāi)的cmd窗口

對(duì)執(zhí)行bat批處理文件打開(kāi)的cmd窗口,進(jìn)行驗(yàn)證

test.bat 測(cè)試文件

@echo on
chcp
pause

雙擊test.bat批處理文件

執(zhí)行批處理文件

注:開(kāi)始菜單或搜索欄里打開(kāi)的dos窗口,實(shí)際上是通過(guò) xxx.lnk 快捷方式打開(kāi)的

方式3:修改 .lnk 快捷方式的文件屬性(永久有效)

1)找到?C:\Windows\System32\cmd.exe 命令程序;
2)右鍵cmd.exe> 發(fā)送到>桌面快捷方式,創(chuàng)建一個(gè)cmd的快捷方式 cmd.exe - 快捷方式.lnk
3)桌面找到cmd的快捷圖標(biāo),右鍵 > 屬性 > 快捷方式 > 目標(biāo) 后邊增加 /K "chcp 65001"(注意跟 cmd.exe 之間有個(gè)空格),然后點(diǎn)擊應(yīng)用即可
優(yōu)點(diǎn):對(duì) xxx.lnk 打開(kāi)的dos窗口有效,可以彌補(bǔ)【方式2】注冊(cè)表的CodePage 注冊(cè)項(xiàng)對(duì) .lnk 快捷方式打開(kāi)的dos窗口不生效的不足
缺點(diǎn):僅對(duì)修改的快捷方式的打開(kāi)的dos窗口有效,如果有多個(gè).lnk 快捷方式,需要分別進(jìn)行修改

回到桌面雙擊cmd.exe - 快捷方式.lnk ,打開(kāi)dos窗口,驗(yàn)證效果如下:

修改快捷方式屬性

開(kāi)始菜單>Windows 系統(tǒng)>命令提示符搜索>輸入cmd>命令提示符 打開(kāi)的dos窗口,進(jìn)行驗(yàn)證,可以看到未生效

開(kāi)始菜單打開(kāi)的dos未生效

想要開(kāi)始菜單搜索里打開(kāi)的dos窗口也生效,需要修改對(duì)應(yīng)的 .lnk 里的屬性
操作步驟:
1)開(kāi)始菜單搜索里找到命令提示符右鍵 > 打開(kāi)文件位置
(我這里是C:\Users\cyinl\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\System Tools
2)找到命令提示符快捷方式,右鍵>屬性>快捷方式>目標(biāo) 后邊增加 /K "chcp 65001",點(diǎn)擊應(yīng)用即可

命令提示符屬性

開(kāi)始菜單搜索打開(kāi)dos窗口,進(jìn)行驗(yàn)證,可以看到已生效

方式4:修改注冊(cè)表增加AutoRun項(xiàng)(永久有效)

1)win+r 打開(kāi)運(yùn)行器,輸入regedit 回車,打開(kāi)注冊(cè)表;
2)在路徑計(jì)算機(jī)\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor ,右鍵 > 新建 > 字符串值,重命名為AutoRun 項(xiàng);
3)雙擊AutoRun,編輯數(shù)值數(shù)據(jù)為:chcp 937(注意這里我為了區(qū)分其他方式更改的效果,設(shè)置為了937)
優(yōu)點(diǎn):一勞永逸,且對(duì)所有途徑打開(kāi)的cmd都生效
缺點(diǎn):命令行啟動(dòng)后首行顯示的不再是Windows版權(quán)信息,而是"Active code page: xxx"(好像也不算什么缺點(diǎn));另外就是對(duì)于快捷方式來(lái)說(shuō)【屬性】配置后執(zhí)行于【AutoRun】的配置,后執(zhí)行的會(huì)覆蓋先執(zhí)行的(這點(diǎn)應(yīng)該難理解吧)

autorun注冊(cè)表

對(duì)通過(guò)Win+R 運(yùn)行cmd打開(kāi)的dos窗口進(jìn)行驗(yàn)證如下,可以看到 AutoRun配置已生效。
注意:【方式2】修改的注冊(cè)表CodePage項(xiàng),我并沒(méi)有去掉,說(shuō)明 AutoRun 配置覆蓋掉了 CodePage 配置

雙擊桌面的cmd.exe - 快捷方式.lnk 圖標(biāo),驗(yàn)證效果如下,可以看到注冊(cè)表里的AutoRun配置已生效,但是緊接著被其他配置給覆蓋了,最終代碼頁(yè)顯示為 65001
注意:目前 cmd.exe - 快捷方式.lnk 有3處配置,結(jié)合上邊的 AutoRun 配置會(huì)覆蓋 CodePage,可以推測(cè)出,這里的 65001 是 快捷方式的【屬性】配置起的作用

autorun運(yùn)行效果

cmd.exe - 快捷方式.lnk屬性里的 /K "chcp 65001" 去掉,然后重新打開(kāi)dos窗口,驗(yàn)證上邊的推測(cè),從結(jié)果看 AutoRun 配置最終生效了(嚴(yán)格來(lái)講是都生效了,只是后執(zhí)行的會(huì)覆蓋先執(zhí)行的)

autorun+codepage

對(duì)開(kāi)始菜單>Windows 系統(tǒng)>命令提示符搜索>輸入cmd>命令提示符 打開(kāi)的dos窗口,進(jìn)行驗(yàn)證。
注意:對(duì)于【開(kāi)始菜單】或【搜索】打開(kāi)的命令提示符,共有【方式2】【方式3】【方式4】3個(gè)配置,結(jié)合驗(yàn)證結(jié)果可以看出快捷方式【屬性】配置最終生效了

對(duì)執(zhí)行bat批處理文件test,bat,打開(kāi)的dos窗口,進(jìn)行驗(yàn)證。
注意:對(duì)于批處理文件,此時(shí)只有【方式2】【方式4】?jī)商幣渲?,可以看出【方?】的AutoRun配置最終生效了

最后結(jié)論:
配置優(yōu)先級(jí) 【快捷方式的屬性】>【注冊(cè)表的AutoRun】>【注冊(cè)表的CodePage】,即 高優(yōu)先級(jí)配置會(huì)覆蓋低優(yōu)先級(jí)配置(嚴(yán)格來(lái)講這里說(shuō)的優(yōu)先級(jí)高,只是因?yàn)樗髨?zhí)行,把先執(zhí)行的效果給覆蓋掉了)

2. 更改批處理文件編碼

通過(guò)更改批處理文件的編碼方式,使文件的編碼與DOS窗口的代碼頁(yè)對(duì)應(yīng)

方式1:更改批處理文件編碼方式

使用記事本,新建test2.bat批處理文件,內(nèi)容如下,另存為,編碼選擇:ANSI

@echo on
echo 中文
pause

雙擊test2.bat批處理文件,執(zhí)行效果如下:

test2.bat

是亂碼沒(méi)錯(cuò),這是因?yàn)樵谇懊嫜菔具^(guò)程中更改的AutoRun配置將dos窗口代碼頁(yè)設(shè)置為了437

到注冊(cè)表里把AutoRun項(xiàng)刪掉(這里就不演示怎么刪了),然后再雙擊運(yùn)行test2.bat

test2.bat運(yùn)行效果

還是亂碼,那就對(duì)了,聰明如你應(yīng)該能想到,注冊(cè)表里還有個(gè)CodePage 配置,配置的是:十進(jìn)制 65001(對(duì)應(yīng) UTF-8),修改為 十進(jìn)制 936(對(duì)應(yīng) ANSI/GBK)或刪掉它?。ú灰獑?wèn)我怎么操作?我不會(huì)告訴你的?。?/p>

我這里改為936(我注冊(cè)表里最初配置的就是936,這里相當(dāng)于復(fù)原),再雙擊運(yùn)行test2.bat,中文亂碼問(wèn)題解決了

正常顯示中文

當(dāng)然,你也可以在批處理文件里,在中文輸出命令之前,使用chcp 更改dos窗口的代碼頁(yè),使其與批處理文件的編碼對(duì)應(yīng)

使用記事本,新建test3.bat批處理文件,內(nèi)容如下,另存為,編碼選擇:ANSI

@echo on
chcp 936
echo 中文
pause

雙擊運(yùn)行test3.bat,進(jìn)行驗(yàn)證

如果批處理文件保存時(shí),編碼選擇:UTF-8,那么需要更改dos窗口的代碼頁(yè)為:65001,這里就不演示了。

總之就是保持批處理文件本身的編碼方式與DOS窗口代碼頁(yè)對(duì)應(yīng),這樣應(yīng)該就不會(huì)出現(xiàn)亂碼問(wèn)題了

最后:
如果還有亂碼問(wèn)題,可以嘗試在DOS窗口的屬性里,改下字體試試。

窗口字體

到此這篇關(guān)于Windows解決cmd/dos窗口中文亂碼問(wèn)題的文章就介紹到這了,更多相關(guān)cmd/dos窗口中文亂碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論