C:\Temp>type test.pl #!perl use warnings; use strict; use open qw/:std :encoding(UTF-8)/; use Win32; print "GetConsoleCP: ", Win32::GetConsoleCP(), "\n"; print "GetConsoleOutputCP: ", Win32::GetConsoleOutputCP(), "\n"; print "chcp: "; system("chcp"); Win32::SetConsoleOutputCP(65001); Win32::SetConsoleCP(65001) if @ARGV; C:\Temp>perl test.pl GetConsoleCP: 850 GetConsoleOutputCP: 850 chcp: Active Codepage: 850. C:\Temp>perl test.pl x GetConsoleCP: 850 GetConsoleOutputCP: 65001 chcp: Active Codepage: 850. C:\Temp>perl test.pl x GetConsoleCP: 65001 GetConsoleOutputCP: 65001 chcp: Active Codepage: 65001. C:\Temp>chcp 850 Active Codepage: 850. C:\Temp>perl test.pl GetConsoleCP: 850 GetConsoleOutputCP: 850 chcp: Active Codepage: 850.