[Moscow.pm] utf8
Ruslan Zakirov
ruz на bestpractical.com
Пн Мар 12 16:53:56 PDT 2012
Привет.
http://www.unicode.org/reports/tr15/ - тут смотреть таблички и картинки.
Далее читать и обрабатывать свои данные:
http://search.cpan.org/~sadahiro/Unicode-Normalize-1.14/Normalize.pm
http://search.cpan.org/~flora/perl-5.14.2/pod/perlunicode.pod#Unicode_Regular_Expression_Support_Level
Смотрим секцию RL2.1 Canonical Equivalents
2012/3/13 Ali Ramazanov <netspamer на gmail.com>:
> Приветствую всех!
>
> Возможно я нарвался на что-то попсовое, но всё равно был удивлён.
> Работая со строками как с октетами, обнаружил, что eq не даёт положительно
> результата на две строки (при выводе на консоль они идентичны).
> Перевел их во внутренний формат, обнаружил, что буква 'й' может по-разному
> записываться.
>
> первый вариант:
> $ perl -e 'use Encode warn Encode::encode("utf8", "\x{438}\x{306}")'
> й at -e line 1.
>
> декомпозируется на два символа:
> $ perl -e 'use Encode warn Encode::encode("utf8", "\x{438}")'
> и at -e line 1.
>
> $ perl -e 'use Encode warn Encode::encode("utf8", "\x{306}")'
> ̆ at -e line 1.
> -------------------------------------------------
>
> второй вариант:
> $ perl -e 'use Encode warn Encode::encode("utf8", "\x{439}")'
> й at -e line 1.
>
>
> На консоле первый и второй вариант выглядит абсолютно одинаково, как с этим
> правильно бороться кроме как замены и привидения к одному виду?)
> Потратил какое-то время и не хотел верить свои глазам :)
>
> Спасибо!
>
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
--
Best regards, Ruslan.
Подробная информация о списке рассылки Moscow-pm