|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Sergey Skvortsov 2:5020/400 02 Oct 2003 16:14:06 To : Alexey Mahotkin Subject : Re: Malformed UTF-8 character -------------------------------------------------------------------------------- Alexey Mahotkin пишет: SS>> какой-то участок кода хочет видеть переменную $var как utf8. AM> Это как, кстати? да как угодно. например если $a - обычный (не-utf8) scalar, $b - utf8 scalar, то при $a.=$b $a сначала апгрейдится до utf8 и лишь после собственно делается join. SS>> соответственно perl вызывает SvPVutf8. поскольку у $var нет флага SS>> SVf_UTF8, то он вызывает внутренную функцию decode от того же Encode. SS>> а последняя оперирует, вы не поверите, танцуя от locale. которая либо SS>> системная, либо установлена через use locale. AM> Я думаю, что всё гораздо проще. Человек просто пытался выдать скаляр, AM> состоящий из набора байтов, в поток, открытый как UTF-8. это не "проще", а частный случай того, что я описал. SS>> этот locale я вживую не видел. потому неудивительно, что, скажем, SS>> перекодировка из строки с кодировкой 1251 по правилам koi8 вызывает SS>> exception. AM> Можно проверить, запустив тестовый скрипт с LC_ALL=ru_RU.cp1251 если на FreeBSD, то там эта locale по умолчанию не ставится :) -- Sergey Skvorstov mailto: skv@protey.ru Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5 * Origin: Talk.ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6488106bdfa8.html, оценка из 5, голосов 10
|