|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Igor Trofimov 2:5020/400 14 Jul 2003 21:00:46 To : Igor Trofimov Subject : Re: мистика ;) --------------------------------------------------------------------------------
AA>> Посмотри, что у этого скаляра внутри, может действительно
AA>> перекодировка где-то идет.
так и есть!!
Dump ($Dummy);
print "===$Dummy==="; # или $Dump .= '';
Dump ($Dummy);
дает следующее:
SV = PV(0x81fd660) at 0x8208ac4
REFCNT = 1
FLAGS = (PADBUSY,PADMY,POK,pPOK)
PV = 0x824a1f8 "\321\317\316\320\322-\322\316\302\300\320\333"\0
CUR = 12
LEN = 13
SV = PV(0x81fd660) at 0x8208ac4
REFCNT = 1
FLAGS = (PADBUSY,PADMY,POK,pPOK,UTF8)
PV = 0x824a1f8
"\320\241\320\237\320\236\320\240\320\242-\320\242\320\236\320\222\320\220\3
20\240\320\253"\0 [UTF8
"\x{421}\x{41f}\x{41e}\x{420}\x{422}-\x{422}\x{41e}\x{412}\x{410}\x{420}\x{4
2b}"]
CUR = 23
LEN = 24
То есть при конкатенации и при (почему-то) print с конкатенацией, он
переводит строку в utf-8. Видимо, ключи хеша тоже хранятся унутре в utf8.
Hепонятно только следующее:
Я беру из базы строку и без всяких модификаций использую как ключ хеша. беру
из базы другую строку (такую-же) и пытаюсь искать в хеше - не находит...
То есть такое ощущение, что при задании значения на ключе он производит
принудительную перекодировку, а при проверке - нет. А это, имхо, бага ;(
Hу, если конечно, так оно все и есть...
И как бы вообще всю эту utf-8-дребедень у него из головы выбить? ;)
А еще убивает, что он МЕHЯЕТ саму переменную при print. Какого хера?
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/45490065bb19.html, оценка из 5, голосов 10
|