Perl - буквы нижнего регистра - PullRequest
5 голосов
/ 03 мая 2011

Используя Perl, я пытаюсь прописать слова с ударением и специальные символы с lc(), но не могу.

Например:

É UM MAÇO

1010 * возвращается *

ЭМ МАГО

Ответы [ 3 ]

8 голосов
/ 03 мая 2011
-bash$ perl -we 'use utf8; binmode STDOUT, ":utf8"; print lc "É UM MAÇO"'
é um maço

utf8 означает, что текст вашей программы в кодировке Unicode.binmode обеспечивает правильный вывод широких символов.

Вы также можете use Encode;, см. документы .

1 голос
/ 03 мая 2011

Попробуйте добавить

use locale;

в ваш скрипт.Это должно заставить различные функции, включая lc работать с акцентами.Скрипт полного тестирования:

use strict; use warnings;
use locale;
use utf8;

print lc('É UM MAÇO');    # gives "é um maço"
0 голосов
/ 03 мая 2011

Вы смотрели на это http://perldoc.perl.org/functions/lc.html и убедились, что все ваши настройки настроены правильно.Также было бы хорошо опубликовать минимальный код для воспроизведения эффекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...