Forum Webscript.Ru

Программирование => Perl => Тема начата: APL от 02 Июля 2009, 18:40:33

Название: Проблема с переходом на UTF8
Отправлено: APL от 02 Июля 2009, 18:40:33
Начал переделывать сайты на utf8, но столкнулся с проблемой,..

Вот простой пример

#!/usr/bin/perl

use utf8;
use locale;
use POSIX qw (locale_h);
setlocale(LC_CTYPE, \'ru_RU.utf8\');
setlocale(LC_ALL, \'ru_RU.utf8\');

use strict;
use CGI qw/:standart/;
use CGI::Carp qw(fatalsToBrowser);

$object::cgi = new CGI;

print "\\n\\n";
$a = \'Тест\';
print lc ($a); print " (".(length $a).") ";
print "\\n\\n";

$a = $object::cgi->param(\'k\');
print uc($a); print " (".(length $a).") ";

1;


просто в качестве проверки преобразования регистров... в первом случае выдает длину 4, а во втором 8, если значение параметра тоже k=Тест, причем сам скрипт записан в юникоде... ну и во втором случае регистр менять не хочет... видимо CGI как-то преобразовывает...

подскажите плиз, где протупил