[Kiev-pm] utf8

my.yarnik at yandex.ru my.yarnik at yandex.ru
Thu Jan 16 05:37:35 PST 2014


Здравствуйте, vti.

я  конечно  плохо  знаю  язык  и  в  часности много чего не понимаю, к
примеру.

> Рекомендации по UTF-8:
> 1. print должен быть в UTF-8: binmode(STDOUT, ":utf8");

зачем писать это если оно итак хранится в UTF-8 и выводит в UTF-8

> 2. glob возвращает файл в байтах, необходимо преобразовать в UTF-8: my
> $file = Encode::decode('UTF-8', $_);

вот  все вроде понятно, но "файл в байтах", это же к размеру относится
а не к названию....

> 3. при открытии файла необходимо сообщить, что мы хотим автоматически
> UTF-8: open(FILE, '<:encoding(UTF-8)', "$file");

что б не менять это везде вручную, я заменил на
use open qw/:utf8/;
эффект тот же самый.

> 4. вместо use encoding 'utf-8' использовать use utf8; и только тогда,
> когда в исходном тексте программы есть UTF-8 символы (в данном случае есть)

понял, а еще понятней стало когда носом ткнули в доку где написано что
оно может быть удалено

> 5. с базой вижу есть вариант правильный (set names + mysql_enable_utf8),
> надеюсь, что и в схеме стоит кодировка UTF-8 (иначе будет каша потом)

тут я экспереметирую, поэтому и создал 2 базы:
1. utf c полями утф и вин
2. вин с полями утф и вин
по  сути  все  равно  что  использовать,  самое  главное  обьявить при
подключении к базе
$dbh->do("set names utf8");
$dbh->{mysql_enable_utf8} = 1;

> Сократить этот список можно используя utf8::all.

не слышал о таком еще..

С уважением,
Ярослав



More information about the Kiev-pm mailing list