Я в системе Windows.
Я создал два файла utf-8 python_print.py
для python и perl_print.pl
для perl соответственно, два файла содержат одну и ту же строку, как показано ниже
print("中")
и perl имеет ;
разделитель.
Моя CMD по умолчанию code page 936
, и я запускаю
python python_print.py
Я получил
中
Однако, когда я запускаю
perl perl_print.pl
впервые даёт
涓
запустив его во второй раз, я получил
![enter image description here](https://i.stack.imgur.com/Eg1cw.png)
почему ??
Я продолжаю тестирование, я запускаю chcp 65001
, чтобы изменить кодировку cmd на utf-8, и на этот раз Python и Perl дают правильные "中"
.
Теперь я полностью запутался, кажется, что печать в python и perl совершенно различна. Кажется, Perl всегда распечатывает utf8 байтов? и python print может обнаружить кодовую страницу CMD для печати правильного байта? Кто-нибудь может объяснить мой результат теста?