Re: русский в поиске
Необходимо редактировать следующие файлы:
/data/WebGUI/lib/WebGUI/Search.pm
СТРОКА 330
#-------------- Edited by zxp for Chinese Word Segment
# utf8::decode($terms[$i]);
# my @segs = split /([A-z|\d]+|\S)/, $terms[$i];
# $terms[$i] = join " ",@segs;
# $terms[$i] =~ s/\s{2,}/ /g;
# $terms[$i] =~ s/(^\s|\s$)//g;
# $terms[$i] =~ s/\s/\'\'/g;
# if($terms[$i] =~ m/\'/) { # has non-latin latter in terms
# $terms[$i] = '"' . $terms[$i] . '"';
# }
#-------------- Edited by zxp end
/data/WebGUI/lib/WebGUI/Search/Index.pm
СТРОКА 78
#-------------------- added by zxp for chinese word segment
# utf8::decode($text);
# my @segs = split /([A-z|\d]+|\S)/, $text;
# $text = join " ",@segs;
# $text =~ s/\s{2,}/ /g;
# $text =~ s/(^\s|\s$)//g;
# $text =~ s/\s/\'\'/g;
#-------------------- added by zxp end
СТРОКА 124
#-------------------- added by zxp for chinese word segment
# utf8::decode($keywords);
# my @segs = split /([A-z|\d]+|\S)/, $keywords;
# $keywords = join " ",@segs;
# $keywords =~ s/\s{2,}/ /g;
# $keywords =~ s/(^\s|\s$)//g;
# $keywords =~ s/\s/\'\'/g;
#-------------------- added by zxp end
Кроме того, попробуйте добавить в файл
/data/WebGUI/lib/WebGUI/SQL.pm
СТРОКА 320
if ( $dsn =~ /mysql/ ) { # Set MySQL specific attributes
$dbh->do("SET NAMES utf8");
}
Если после такого жёсткого задания кодировки у вас на сайте вместо нормального текста появились закарючки - значит до сих пор у вас было двойное перекодирование.
В таком случае пишите - опишу, как поступить в данной ситуации.
Пожалуйста, все вопросы и пожелания оставляйте на форуме, а не направляйте прямиком мне на E-mail
--- (Отредактировано 28-March-2007 16:52 [GMT+0300] Написал(а) Admin) ---