CMD.exe hoạt động trong các trang mã khác với PHP. Bằng cách này, nó cũng là mã khác nhau hơn so với mã mặc định của Windows. Điều này là để tương thích với các chương trình MS-DOS cũ hơn. Ở quốc gia của tôi, Windows sử dụng Windows-1250 và cmd.exe sử dụng DOS Latin2. Tôi cho rằng ở Anh, đây sẽ là Windows-1252 và DOS Latin1 tương ứng.
Để có được kết quả tương tự, bạn phải sử dụng cùng một trang mã trong PHP và trong cmd.exe. Kiểm tra những gì codepage được sử dụng bởi PHP và thiết lập cmd.exe cho cùng một mã. Để thực hiện việc này, hãy sử dụng lệnh sau: mode con sp select=<codepagenumber>
hoặc chcp <codepagenumber>
. Điều này sẽ thay đổi mã chỉ cho phiên bản hiện tại của cmd.exe.
Dưới đây là một danh sách ngắn của một số codepage điển hình và số lượng của chúng:
DOS Latin1 850
DOS Latin2 852
Windows-1250 1250
Windows-1252 1252
UTF-8 65001
ISO-8859-1 28591
ISO-8859-2 28592
Như @Christophe Weis đã chỉ ra trong các ý kiến, bạn có thể tra cứu các định danh của trang mã khác tại Code page identifiers trang.
Vâng, tiếng vọng dường như có nhiều chức năng sao chép/dán. Tôi không chắc về PHP .. – Coffee