Приветствую всех!
Возможно я нарвался на что-то попсовое, но всё равно был удивлён.
Работая со строками как с октетами, обнаружил, что 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
[email protected] | http://moscow.pm.org