Perl - How to solve the trouble with encoding in windows console? -


trying use russian lettaz , console acts donkey, because not react on use utf8/utf-8 or cp1251 directives. encoding of text marked red colour don't know. knows how solve ? code listing below:

#!/usr/bin/perl -w use strict; use warnings; use tie::ixhash;  tie %hash, "tie::ixhash";    %hash = (     'шляпа' => 'серая',     'водка' => 'горькая',     'вобла' => 'вкусная');  print "В упорядоченной вставке список хеша такой:\n"; foreach $qwerty (keys %hash){     print " $qwerty\n"; } print "Кроме того, предметы обладают некоторыми свойствами:\n"; while((my($predmet, $opredelenie)) = each %hash){ print "$predmet $opredelenie","\n"; } 

you need specify stdout encoding. script utf-8 encoded:

use strict; use warnings;  #use tie::ixhash; use utf8; binmode stdout, ":encoding(cp866)";  %hash = (     'шляпа' => 'серая',     'водка' => 'горькая',     'вобла' => 'вкусная' );  print "В упорядоченной вставке список хеша такой:\n"; foreach $qwerty ( keys %hash ) {     print " $qwerty\n"; } print "Кроме того, предметы обладают некоторыми свойствами:\n"; while ( ( ( $predmet, $opredelenie ) ) = each %hash ) {     print "$predmet $opredelenie", "\n"; } 

Popular posts from this blog

php - How should I create my API for mobile applications (Needs Authentication) -

5 Reasons to Blog Anonymously (and 5 Reasons Not To)

Google AdWords and AdSense - A Dynamic Small Business Marketing Duo