2011-04-12 10:42:07 +0000 2011-04-12 10:42:07 +0000
131
131
Advertisement

Zmień domyślną stronę kodową konsoli Windows na UTF-8

Advertisement

Obecnie używam systemu Windows 7 x64 i zazwyczaj chcę, aby wszystkie narzędzia konsolowe działały z UTF-8, a nie z domyślną stroną kodową 850.

Uruchamianie chcp 65001 w wierszu poleceń przed użyciem jakichkolwiek narzędzi pomaga, ale czy jest jakiś sposób, aby ustawić domyślną stronę kodową?

Uaktualnienie:

Zmiana wartości HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\OEMCP na 65001 sprawia, że system nie może się uruchomić w moim przypadku.

Propozycja zmiany HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun na @chcp 65001>nul dobrze służyła mojemu celowi. (dzięki Ole_Brun )

Advertisement
Advertisement

Odpowiedzi (6)

102
102
102
2011-04-12 12:22:32 +0000

Aby zmienić stronę kodową tylko dla konsoli, wykonaj następujące czynności:

  1. Start -> Run -> regedit
  2. Przejdź do [HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\Autorun]
  3. Zmień wartość na chcp 65001
41
41
41
2013-12-07 15:36:03 +0000

Osobiście, nie lubię zmieniać rejestru. To może spowodować wiele problemów. Stworzyłem plik wsadowy:

@ECHO OFF
REM change CHCP to UTF-8
CHCP 65001
CLS

Zapisałem w C:\Windows\System32 jako switch.bat.

Stworzyłem link do cmd.exe na Pulpicie.

We właściwościach skrótu cmd, zmieniłem cel na: C:\Windows\System32\cmd.exe /k switch

Voilá, gdy muszę wpisać UTF-8, używam tego linku.

35
Advertisement
35
35
2015-06-13 20:39:21 +0000
Advertisement

Plik Reg:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe]
"CodePage"=dword:fde9
  1. Wartość musi być w heksie
  2. Górna linia musi być dołączona dokładnie tak jak
  3. HKEY_CURRENT__USER nie może być skrócony
  4. dword nie może być pominięty
  • *

Prompt polecenia:

REG ADD HKCU\Console\%SystemRoot^%_system32_cmd.exe /v CodePage /t REG_DWORD /d 65001
  1. Wartość może być w dec lub hex
  2. %SystemRoot% musi zostać wydostany
  3. REG_DWORD cannot be omitted

PowerShell:

New-Item -ErrorAction Ignore HKCU:\Console\%SystemRoot%_system32_cmd.exe
Set-ItemProperty HKCU:\Console\%SystemRoot%_system32_cmd.exe CodePage 65001
  1. Wartość może być w dec lub hex
  2. -Type DWord przyjmuje się z PowerShell 3+
  3. Może być użyta ni -> New-Item
  4. Can use sp -> Set-ItemProperty
  5. Can use -ea 0 -> -ErrorAction Ignore
  • *

Cygwin:

regtool add '\HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe'
regtool set '\HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe\CodePage' 65001
  1. Wartość może być w dec lub hex
  2. Może być użyty `/ -> Plik Reg:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe]
"CodePage"=dword:fde9
  1. [ Wartość musi być w heksie ]&003
  2. Górna linia musi być dołączona dokładnie tak jak
  3. HKEY_CURRENT__USER nie może być skrócony
  4. dword nie może być pominięty
  • *

Prompt polecenia:

REG ADD HKCU\Console\%SystemRoot^%_system32_cmd.exe /v CodePage /t REG_DWORD /d 65001
  1. Wartość może być w dec lub hex
  2. %SystemRoot% musi zostać wydostany
  3. REG_DWORD cannot be omitted

PowerShell:

New-Item -ErrorAction Ignore HKCU:\Console\%SystemRoot%_system32_cmd.exe
Set-ItemProperty HKCU:\Console\%SystemRoot%_system32_cmd.exe CodePage 65001
  1. Wartość może być w dec lub hex
  2. -Type DWord przyjmuje się z PowerShell 3+
  3. Może być użyta ni -> New-Item
  4. Can use sp -> Set-ItemProperty
  5. Can use -ea 0 -> -ErrorAction Ignore
  • *

Cygwin:

regtool add '\HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe'
regtool set '\HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe\CodePage' 65001
  1. Wartość może być w dec lub hex
  2. Może być użyty
  3. Może używać HKCU -> HKEY_CURRENT_USER
  4. Potrafi używać user -> HKEY_CURRENT_USER
10
10
10
2019-05-11 14:44:42 +0000

W 1809 roku zbudowałem system Windows 10, który na stałe rozwiązałem przechodząc do Language settings, wybierając Administrative language settings, klikając Change system locale... i zaznaczając pole Beta: Use Unicode UTF-8 for worldwide language support, a następnie restartując mój komputer.

W ten sposób dotyczy to wszystkich aplikacji, nawet tych, które nie zaczynają się od komendy! (Co było dla mnie konieczne, ponieważ próbowałem edytować kod Agdy z Atom).

6
Advertisement
6
6
2017-09-03 20:56:45 +0000
Advertisement

Można to zrobić tworząc profil programu PowerShell i dodając do niego polecenie “chcp 65001 >$null”:

PS> Set-ExecutionPolicy RemoteSigned
PS> New-Item -Path $Profile -ItemType file -Force
PS> notepad $Profile

Nie wymaga to edycji rejestru i w odróżnieniu od edycji skrótu będzie działać, jeżeli program PowerShell zostanie uruchomiony w określonym folderze za pomocą menu kontekstowego Windows Explorera.

5
5
5
2016-11-02 21:11:54 +0000

Polecenie zmiany strony kodowej to chcp <codepage>. Przykład: chcp 1252. Powinieneś wpisać go w oknie Powershell. Aby uniknąć kłopotów z jego wpisywaniem w każdej chwili (jeśli zawsze musisz zmienić stronę kodową), możesz dołączyć go do linii poleceń programu. Aby to zrobić, wykonaj następujące kroki:

  1. Kliknij prawym przyciskiem myszy na ikonę Powershell w menu Start i wybierz “More” > “Open file Location”.
  2. Kliknij prawym przyciskiem myszy na skrót Powershell i wybierz “Właściwości”.
  3. Dodaj na końcu linii poleceń “Cel”: -NoExit -Command "chcp 1252"

Bądź szczęśliwy. Nie rób zamieszania z rejestrem Windows, chyba że nie masz innej opcji.

Advertisement

Pytania pokrewne

3
19
10
28
10
Advertisement