Обратите внимание, как ã
меняется на a
. ПРИМЕЧАНИЕ 2: Прежде чем винить в этом CMD.EXE и странность канала Windows, ознакомьтесь с экспериментом 2 ниже, в котором аналогичная проблема возникает при использовании File :: Find.
Конкретная проблема, которую я пытаюсь решить, связана с работой с файлами изображений, хранящимися на локальном диске, и манипулированием именами файлов, которые могут содержать иностранные символы. Два эксперимента, показанные ниже, являются промежуточными этапами отладки.
Символ ã
встречается в латинских языках. например http://pt.wikipedia.org/wiki/Cão
Эксперимент 1
Посмотрите внимательно, обратите внимание, как cão
становится cao
.
Эксперимент 2
Здесь я попытался использовать File :: Find вместо конвейерного ввода, в случае, если проблема была в реализации Windows оператора |
. На самом деле проблема усугубляется, так как ~a
становится Pi
:
Отладочное обновление:
Я попробовал некоторые приемы, перечисленные в http://perldoc.perl.org/perlunicode.html,
например use utf8
, use feature 'unicode_strings'
и т. Д. Безрезультатно.
Информация о среде и версии
Операционная система - Windows 7, 64-разрядная.
Perl:
This is perl 5, version 12, subversion 2 (v5.12.2) built for MSWin32-x64-multi-thread
(with 8 registered patches, see perl -V for more detail)
Copyright 1987-2010, Larry Wall
Binary build 1202 [293621] provided by ActiveState http://www.ActiveState.com
Built Sep 6 2010 22:53:42