Perl - цитата с китайскими иероглифами
Я использую quotemeta, чтобы избежать пути к файлу китайского имени файла. Но это возвращается неправильно.
Пример кода:
#!/usr/bin/perl
use Encode;
my $ustring1 = "/opt/游戏美术.txt";
my $ustring2 = quotemeta $ustring1;
print "$ustring1\n" ;
print "$ustring2";
print "\n";
Пожалуйста, помогите объяснить и предоставить код для решения этой проблемы. Я использую Perl v5.10.1 Большое спасибо.
Обновить вопрос:
#!/usr/bin/perl
use Encode;
use utf8;
use open ':std', ':encoding(UTF-8)';
my $ustring1 = "游戏美术";
my $ustring2 = quotemeta $ustring1;
my $rc = 0xffff & system("echo a > $ustring1.txt2");
print "$ustring1\n" ;
print "$ustring2\n";
print "$rc";
print "\n";
Вывод в порядке сейчас. Но имя файла txt2 неверное: 游??美术.txt2. Пожалуйста помоги
1 ответ
Решение
Может быть, use utf 8
помогает:
#!/usr/bin/perl
use Encode;
use utf8;
use open ':std', ':encoding(UTF-8)';
my $ustring1 = "/opt/游戏美术.txt";
my $ustring2 = quotemeta $ustring1;
print "$ustring1\n" ;
print "$ustring2";
print "\n";
Выход:
/opt/游戏美术.txt
\/opt\/游戏美术\.txt