Jest to nieco związane z pytaniem
Nawet w systemie Windows 7 odkryłem, że jedynym sposobem na uzyskanie kodu Unicode do pliku jest
> cmd /U
> dir /B > files.txt
plik będzie w „Unicode”, kiedy otworzę w Notatniku i spróbuję „Zapisz jako”, a jeśli ja dir /B > files.html
i otworzę plik HTML w Firefox, to mogę pokazać kodowanie UTF-16 (lub UTF-16 LE).
ale jeśli chcę zobaczyć to na ekranie zamiast przejść do pliku, nadal jest to niemożliwe. Czy istnieje sposób, aby tak się stało? Możliwe, że w jakiś sposób mówi cmd, aby nie wyświetlać znaków niedrukowalnych jako „?”
Aktualizacja: Próbowałem cmd.exe, bash cygwina w systemie Windows i PowerShell. Oni są tacy sami. Z wyjątkiem sytuacji, gdy zmienię „Właściwości -> Czcionka” na Consolas lub Lucida Console, jest pewne ulepszenie - teraz nie jest to znak zapytania, ale jest to kwadratowa ramka lub kwadrat ze znakiem zapytania.
Mogą to zrobić droższe komputery Mac z systemem Mac OS X. Darmowe Ubuntu też może to zrobić.
źródło
dir > file.txt
to wciąż był znak zapytania w pliku, mimo że jest to „kwadratowe pole” na ekranie.https://stackoverflow.com/questions/388490/unicode-characters-in-windows-command-line-how
Użyj,
chcp 65001
aby zmienić stronę kodową na UTF8 i użyj Lucida Console.źródło
Nie ma to nic wspólnego z kodowaniem, ponieważ konsola Windows zawsze używa wewnętrznie Unicode. Znaki są po prostu niedostępne w używanych czcionkach, które są przeznaczone do programowania i języków europejskich. W tej chwili nie mam dostępu do systemu Windows, ale pamiętam, że mogłem wydrukować greckie znaki po przejściu na czcionkę Lucida Console. Używanie czcionki takiej jak DejaVu Sans Mono może działać.
źródło
Ok, to jest rozwiązanie wykorzystujące PowerShell:
1) Kliknij
Start
przycisk w systemie Windows 72) Teraz w pustym wierszu wpisz
PowerShell
3) Wybierz
PowerShell ISE
<- zauważ, że takISE
Teraz, jeśli to zrobisz
ls
, będziesz mógł zobaczyć znaki Unicode ...4) jeśli również użyjesz
chcp 65001
, to jeśli twój program wydrukuje znaki UTF-8, również będą ładnie wyświetlane.Możesz także od czasu
ls > list.txt
do czasu,type list.txt
a treść pojawia się również w postaci znaków Unicode.tree
nadal nie będzie wyświetlać znaków Unicode.również wewnątrz programu PowerShell ISE
cmd /U /C dir /B
również nie będzie działać.ls -R
będzie.źródło
ls
w Powershell to tak naprawdę alias dla „Get-ChildItem”Get-ChildItem
w wierszu poleceń codziennie zamiastls
. Na przykład zwykle pijemy wodę zamiast dwutlenku wodoru.