51

(19 ответов, оставленных в Установка и настройка)

а мне наоборот советовали utf8_unicode_ci а не utf8_general_ci
- вторая типа бвстрее, а первая зато - полнее (ну или такой был смысел..

52

(105 ответов, оставленных в Модули и плагины)

P.S. я, кстати, не рекомендую сборку 0.0.5 использовать на боевых серверах. imho она на стабильный релиз не тянет.
локально - конечно ставьте, тестируйте...

дак а чо мне её локально?
я щас переведу, а ты уже СТАБИЛЬНУЮ сделаешь!!!
пожалуйста примерные сроки назови - когда выйдет стабильная?

и я запутался- БУДЕТ ЛИ промежуточная версия - которая еще не на 1.3, но уже например с тем что я просил (чтобы переключатель для статей - на какой странице комментарии).

и чем чревато "боевое" пользование  0.0.5  - подробней обьясни пжлст.?

дизайн очень нравится. даже перу идей заимстую наверное, если ты не против.

узко - но не слишком! - оставь как есть (смотрю с разрешением 800х60щ) щас. комфортно - горизонтально не надо прокручивать. а ежели резиновым сделаешь - муторно будет сьезды-наезды править...

artoodetoo пишет:

2maru, конвертация не нужна

ну да - я так и написал - просто я в свое время удивился - что просто назад импортировал в ту же базу тока с уже с утф-колейтом, и она стала утф (конечно при м\импорте указал утф).
но у меня еще 1 форум был. и там осталась тока 1251 база (причем всеравно утф), но в этом sql-файле для каждой таблицы было прописано колейт - cp1251_general_ci и я это вручную в редакторе заменил на utf8_general_ci.  а так то - ненадо smile

дада! - я этого и ждал! слава аллаху! smile - теперь есть вроде бы нормальная поддержка utf!

показалось - звиняюсь - перепутал темы. невыспался.. sad

56

(28 ответов, оставленных в Вопросы и ответы)

я заметил вот что:

varchar(80)    utf8_unicode_ci

а у varbinary нет колейта..

может изза этого и разные результаты поиска?


но щас я даже если варчар (80) делаю - выдает ошибку .. че там 40..
а если сделать варБИНАРИ(40) - работает.. но вот таким странным образом ищет...


вот кстате какая ошибка:

Перестройка поискового индекса … Самое время испить чашечку кофе :-)

Обработка сообщения 9 в теме 7
Обработка сообщения 10 в теме 7
Обработка сообщения 16 в теме 12
Обработка сообщения 17 в теме 12
Обработка сообщения 18 в теме 12
Обработка сообщения 19 в теме 12
Обработка сообщения 20 в теме 12
Обработка сообщения 21 в теме 12
Обработка сообщения 22 в теме 12
Обработка сообщения 23 в теме 12
Обработка сообщения 24 в теме 12
Обработка сообщения 25 в теме 12
Обработка сообщения 26 в теме 12
Обработка сообщения 27 в теме 12
Обработка сообщения 28 в теме 12
Обработка сообщения 29 в теме 12
Обработка сообщения 30 в теме 12
Обработка сообщения 31 в теме 12
Обработка сообщения 32 в теме 12
Обработка сообщения 33 в теме 12
Обработка сообщения 34 в теме 13
Обработка сообщения 35 в теме 13
Обработка сообщения 133 в теме 13
Обработка сообщения 60 в теме 27
An error was encountered
File: s:\home\aa.z\rr\forum\include\search_idx.php
Line: 152

PunBB reported: Array ( [0] => бля [1] => ещё [2] => меня [3] => спросите [4] => почему [5] => про [6] => мак [7] => хрен [8] => ним [9] => маком [10] => конце [11] => концов [12] => так [13] => конечно [14] => надо [15] => реактор [16] => порасхвалвать [17] => всё [18] => такое [19] => совсем [20] => никак [21] => связан [22] => что [23] => тут [24] => будем [25] => говорить [26] => только [27] => вобще [28] => оффтопик [29] => очень [30] => хороший [31] => раздел [32] => нужный [33] => вот [34] => захотел [35] => сюда [36] => зайти [37] => нехочу [38] => ректор [39] => нчиего [40] => мне [41] => молчать [42] => не [43] => хочу [44] => делать [45] => молча [46] => самом [47] => деле [48] => съехать [49] => можно [50] => профессиональной [51] => почве [52] => если [53] => тока [54] => чем [55] => разхзнообразие [56] => а [57] => упреккаают [58] => иногда [59] => говорю [60] => чём [61] => йо [62] => йоу [63] => йоужжжъ ) .. ('бля'),('ещё'),('спросите'),('почему'),('мак'),('хрен'),('ним'),('маком'),('конце'),('концов'),('надо'),('реактор'),('порасхвалвать'),('всё'),('такое'),('совсем'),('никак'),('связан'),('будем'),('говорить'),('вобще'),('оффтопик'),('хороший'),('раздел'),('нужный'),('захотел'),('сюда'),('зайти'),('нехочу'),('ректор'),('нчиего'),('мне'),('молчать'),('не'),('делать'),('молча'),('самом'),('деле'),('съехать'),('профессиональной'),('почве'),('тока'),('разхзнообразие'),('а'),('упреккаают'),('иногда'),('говорю'),('чём'),('йо'),('йоу'),('йоужжжъ')Unable to insert search index words

Database reported: Duplicate entry 'ещё' for key 1 (Errno: 1062)

Добавлено спустя     1 минуту   22 секунды:
это щас просто я поставил варчар и коелйт свой.
сперва 40 потом до 80 поднял..

что не так?

hcs - почему ты выбираешь варчар а не варбинари? - на что это влияет?

Добавлено спустя     12 минут   18 секунд:
поставил 21-ю сборку на fouroom.ru

сделал пост где есть "авто"

сделал где есть "автомобиль"

по авто - находит только первый.

сделал паузу 5 секунд - и заэто время успел скопировать снова ошибку антиспам-модуля-

Warning: preg_match() [function.preg-match]: Unknown modifier '�' in /home/ru55ru/public_html/fouroom/include/antispam/antispam_start.php on line 60

а потом идет - сообщение добавлено - переадресация.

видите там ошибка изза корявого знака!!!

Добавлено спустя     13 минут   3 секунды:
hcs
попробуй сам там чтонибудь напечатать - УВИДИШЬ ЭТУ ОШИБКУ

юзер: test пароль: test

Добавлено спустя     15 минут   46 секунд:
хм... поиск точно не регистрозависим: fouroom.ru/search.php?search_id=1957563218 - и авто и автО нашла. а автомобиль - не нашла sad

57

(5 ответов, оставленных в Модули и плагины)

Юко пишет:

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

понимаете за всеми не уследишь.


а можно ли привести здесь такой код - чтобы например был форум "корзина", и при удалении пост (тема) переносился туда.
а совсем удалить могла типа тока вышестоящая группа (мда.. както сложно выходит..)

щас подумал что надо просто думать - кому доверять модерировать...


но все же - как сделать  такой раздел - скрытый? - просто форум гостям запретить читать? - но его ж видно будет на главной...

есть такой мод: 

AdminLog  Автор: Caleb Champlin (Mediator) [med_mediator@hotmail.com]  Ведёт логи действий всех модераторов и администраторов.

вот если бы его доработать - типа удаление в этом логе - как ссылка, и на нее можно нажать и посмотреть что удалил модератор, иесли что - восстановить.

58

(12 ответов, оставленных в Модули и плагины)

понял )

59

(9 ответов, оставленных в Модули и плагины)

советую обратиться в аську кому нибудь из администрации, и если не страшно - дай им юзера и пароль - попроси чтобы они тебе сделали. может ктото поможет...

а вообще - я считаю что У ТЕБЯ ЕСТЬ ХОСТЕР И ЭТО ЕГО ЗАДАЧА - тебе помоч.

говорю тебе - это не проблема punBB - поэтому тереби поддержку хостера.

Добавлено спустя     2 минуты   9 секунд:
хм.. а ты пробовал на денвере - дома? (ну или чо у тебя там) - тоже такая ошибка? - если нет - ТОЧНО ХОСТЕР.

hcs зря стер обьяснение - он не сможет юзать сборку, если хочет перенести посты - ведь для этого нужно сменить некоторые таблицы - моды их меняют!

здесь 2 варианта выхода:

1) я там обьяснял что нужно сперва поставить инсталл того мода, который входит в сборку, чтобы структура базы соответствовала, и затем уже переносить базу старую на новую сборку.

2) - идумаю более правильный вариант - нужно ОПРЕДЕЛИТЬ какие таблицы необходимы и достаточны, чтобы оставить прошлых юзеров и посты. и из старого форума переносить тока их, а те что отвечают за моды и конфиг - оставить от СБОРКИ.


буду благодарен и я, и думаю новички остальные - если ктото определиит такие таблицы!

я понвертировал

делаешь так - сохраняешь в utf - если у тебя MySQL 4.1 и выше - там итак в utf все храниться, даже если пользуется 1251. sql файлик после экспорта получится - его отредактируй например Акель-падом, тока когджа сохраняешь в utf8 - обязательно галочку BOM  убери - ато она будет вставлять лишние символы.

сохранил в uft8/ все 1251 в файле найди и замени на utf8

теперь импортируй обратно в базу майпхпадмином.
тока предваритьельно в базе  collate смени на utf8_unicode_ci (можешь конечно использовать utf_general_ci) - чтобы все было правильно. я пользую первый вариант.

потом копируй файлы с 19-й сборки, вноси исправления: http://punbb.ru/viewtopic.php?id=1180 и http://punbb.ru/viewtopic.php?id=1178

и еще - если ошибки вылазиют - ИЩИ мод, который модифицирует структуру твоей старой базы - чтобы СБОРКА смогла работать - в данном случае очевидно тебе необходим мод REAL MARK TOPIC AS READ - от него инсталл запусти сперва - чтобы он базу правильно изменил. а потом уже новую сборку пользуй (надеюсь ты сохранил старую версию файлов и баз?)

Добавлено спустя     3 минуты   22 секунды:
2 hcs - ОЧЕНЬ ПРОШУ - внеси пожалуйста изменения касательно капчи ( http://punbb.ru/viewtopic.php?id=1178 ) и WORD (http://punbb.ru/viewtopic.php?id=1180 ) в сборку - пусть 20-я будет..


остается тока мод снтиспам мне дождаться ... smile

62

(28 ответов, оставленных в Вопросы и ответы)

находит по " авто "!!!

Добавлено спустя     8 минут   32 секунды:
но знаете.. по "авто" находит 1 страницу, а по "авто*" - 3 страницы...

63

(28 ответов, оставленных в Вопросы и ответы)

гыы
я не свихнулся ещё. надеюсь..

вобщем и так и так пробовал - НЕ ИЩЕТ!!

ЧТО ДЕЛАТЬ ????

Добавлено спустя     7 минут   55 секунд:
вот интересно - я теепрь смог исправить VARBINARY(50) на VARBINARY(40)

f VARBINARY на VARCHAR когда попытался - выдала ошибку, и в ней - корячки:

Ошибка
SQL-запрос: 

ALTER TABLE `rrf_search_words` CHANGE `word` `word` VARCHAR( 50 ) NOT NULL 

Ответ MySQL:  

#1062 - Duplicate entry 'ещё' for key 1

согдасен с r2d2 -  если это МОЖЕТ улучшать вес хоть в нескольких системах - это надо сделать.
зачем убеждать что этого не надоб ьфчшь,
это похоже на то как ты мне навязывал - что мне не надо utf8! ну мне же очевидно что это надо сделать и по крайней мере не будет хуже (а скорее лучше).
короче в теме 4 чтраницы а полезной инфы - МАЛО (но есть smile - модератор бы тему бы почистил бы а?

65

(28 ответов, оставленных в Вопросы и ответы)

у меня вопрос:

в этой функции есть такая штука:

        $stopwords = (array)@file(PUN_ROOT.'lang/'.$pun_user['language'].'/stopwords.txt');

тоесть ссылка на файл stopwords.txt который содержит слова в старых сборках hcs, и пустой в новых...

я когда Dexus-овскую сборку переводил на UTF - редактором его тоеже перевел, а в 19-й сборке hsc увидел что он пустой и тоже в нем все стер...
а зачем он нужен то? -это типа - слова которые не индексировать чтоли там перечислены?


Добавлено спустя     3 минуты   33 секунды:

hcs пишет:

2maru, поменяй её на:

Код:
$text = preg_replace($patterns, ' ', ' '.mb_strtolower($text, 'utf-8').' ');

эмс - дак всёже - UTF-8 или utf8

???

Добавлено спустя     5 минут   10 секунд:
ААААААААААААААА!!!

так. порсле этой замены вижу РУССКИЕ слова в таблице WORD!!!!!!!!!

ща дальше попробую.


дак значит как правильно то? - utf-8 или utf8 ?????

Добавлено спустя     7 минут   44 секунды:
forum.aa.z/test.php
выдает русские буквы...

облом конкретный sad
пост со словом "автомобиль" серавно не нашла по запросу "авто" и даже по " авто* " - не нашла, а до этого находила!!!

Добавлено спустя     12 минут   42 секунды:
у сборки Dexa тоже щас в Word:

Ряды     word
1    
1    ----
1    --------------
1    --нет
1    --ты
1    --что
1    -0w40
1    -10
1    -15
1    -18
1    -1830р
1    -2000
1    -2003
1    -2135р
1    -30
1    -35
1    -40
1    -40с
1    -45
1    -аааааа
1    -автомобилистов
1    -ага
1    -алло
1    -ах
1    -вам
1    -вот
1    -говорят
1    -голова

и тоже не ищет по слову " авто* " ни по слову " авто"

sad

66

(28 ответов, оставленных в Вопросы и ответы)

r2d2 - эмс.. нуу.у... как бы тебе обьяснить.. это сервно что я бы предложил клерку из банка со мной спариногваться - типа - для меня же это обычно.. а ему наверное будет трудно.



хочу заметить - utf-8 сменил на utf8
Но так кстате було не у меня ,а у hcs, и эту строчку я вставил в Dexus-овую сборку.

в базу ложится корячками. Обьясните только одно - ПОЧЕМУ она тогда хотябы по " авто* " - находит куч тем?

ведь там корячки? - тоесть она их както обрратно преобразует и видит где встречается слово авто?

или как?

и почему тогда " авто " - не работает (ведь в старом форуме работает - который на 1251

Добавлено спустя     3 минуты   17 секунд:
не помогло ни Dexus сборке, ни hcs

Добавлено спустя     5 минут   21 секунду:
вот функция split_words из 19-й сборки hcs:

//
// "Cleans up" a text string and returns an array of unique words
// This function depends on the current locale setting
//
function split_words($text)
{
    global $pun_user;
    static $noise_match, $noise_replace, $stopwords;

    if (empty($noise_match))
    {
        $noise_match =         array('[quote', '[code', '[url', '[img', '[email', '[color', '[colour', 'quote]', 'code]', 'url]', 'img]', 'email]', 'color]', 'colour]', '^', '$', '&', '(', ')', '<', '>', '`', '\'', '"', '|', ',', '@', '_', '?', '%', '~', '+', '[', ']', '{', '}', ':', '\\', '/', '=', '#', ';', '!', '*');
        $noise_replace =    array('',       '',      '',     '',     '',       '',       '',        '',       '',      '',     '',     '',       '',       '',        ' ', ' ', ' ', ' ', ' ', ' ', ' ', '',  '',   ' ', ' ', ' ', ' ', '',  ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '' ,  ' ', ' ', ' ', ' ', ' ', ' ');

        $stopwords = (array)@file(PUN_ROOT.'lang/'.$pun_user['language'].'/stopwords.txt');
        $stopwords = array_map('trim', $stopwords);
    }

    // Clean up
    $patterns[] = '#&[\#a-z0-9]+?;#i';
    $patterns[] = '#\b[\w]+:\/\/[a-z0-9\.\-]+(\/[a-z0-9\?\.%_\-\+=&\/~]+)?#';
    $patterns[] = '#\[\/?[a-z\*=\+\-]+(\:?[0-9a-z]+)?:[a-z0-9]{10,}(\:[a-z0-9]+)?=?.*?\]#';
    $text = preg_replace($patterns, ' ', ' '.strtolower($text).' ');

    // Filter out junk
    $text = str_replace($noise_match, $noise_replace, $text);

    // Strip out extra whitespace between words
    $text = trim(preg_replace('#\s+#', ' ', $text));

    // Fill an array with all the words
    $words = explode(' ', $text);

    if (!empty($words))
    {
        while (list($i, $word) = @each($words))
        {
            $words[$i] = trim($word, '.');
            $num_chars = pun_strlen($word);

            if ($num_chars < 3 || $num_chars > 20 || in_array($word, $stopwords))
                unset($words[$i]);
        }
    }

    return array_unique($words);
}

а вот из сборки Dexus:

//
// "Cleans up" a text string and returns an array of unique words
// This function depends on the current locale setting
//
function split_words($text)
{
    global $pun_user;
    static $noise_match, $noise_replace, $stopwords;

    if (empty($noise_match))
    {
        $noise_match =        array('[*]', '[hr]', '[list]', '[title]', '[sub]' ,'[sup]' ,'[quote', '[code', '[url', '[imgid', '[img', '[email', '[color', '[colour', 'list]', 'title]', 'sub]' ,'sup]' ,'quote]', 'code]', 'url]', 'img]', 'email]', 'color]', 'colour]', '^', '$', '&', '(', ')', '<', '>', '`', '\'', '"', '|', ',', '@', '_', '?', '%', '~', '+', '[', ']', '{', '}', ':', '\\', '/', '=', '#', ';', '!', '*');
        $noise_replace =    array('',     '',     '',      '',       '',     '',     '',       '',      '',     '',       '',     '',       '',       '',        '',      '',       '',     '',     '',       '',      '',     '',     '',       '',       '',        ' ', ' ', ' ', ' ', ' ', ' ', ' ', '',  '',   ' ', ' ', ' ', ' ', '',  ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '' ,  ' ', ' ', ' ', ' ', ' ', ' ');

        $stopwords = (array)@file(PUN_ROOT.'lang/'.$pun_user['language'].'/stopwords.txt');
        $stopwords = array_map('trim', $stopwords);
    }

    // Clean up
    $patterns[] = '#&[\#a-z0-9]+?;#i';
    $patterns[] = '#\b[\w]+:\/\/[a-z0-9\.\-]+(\/[a-z0-9\?\.%_\-\+=&\/~]+)?#';
    $patterns[] = '#\[\/?[a-z\*=\+\-]+(\:?[0-9a-z]+)?:[a-z0-9]{10,}(\:[a-z0-9]+)?=?.*?\]#';
    $text = preg_replace($patterns, ' ', ' '.strtolower($text).' ');

    // Filter out junk
    $text = str_replace($noise_match, $noise_replace, $text);

    // Strip out extra whitespace between words
    $text = trim(preg_replace('#\s+#', ' ', $text));

    // Fill an array with all the words
    $words = explode(' ', $text);

    if (!empty($words))
    {
        while (list($i, $word) = @each($words))
        {
            $words[$i] = trim($word, '.');
            $num_chars = pun_strlen($word);

            if ($num_chars < 3 || $num_chars > 20 || in_array($word, $stopwords))
                unset($words[$i]);
        }
    }

    return array_unique($words);
}

67

(28 ответов, оставленных в Вопросы и ответы)

сделал файл test.php - в корень форума кинул - открыл - набрал

раздватри

получилось внизу:

���������

Добавлено спустя     3 минуты  :
на денверере:

Статистика
Версия PunBB
PunBB 1.2.14 - Проверить обновления
© Copyright 2002, 2003, 2004, 2005 Rickard Andersson
Загрузка сервера
Недоступно (1 пользователей он-лайн)
Окружение
Операционная система: WINNT
PHP: 4.4.4 - Информация
Акселератор: N/A
База данных
MySQL 4.1.21-community-nt
Строк: 50836
Размер: 3.01 MB
---------------------------------
set names используется:

вот 51 - 57-е строки dblayer\musql.php:

        {
            @mysql_query("SET NAMES 'utf-8'");
            if (@mysql_select_db($db_name, $this->link_id))
                return $this->link_id;
            else
                error('Unable to select database. MySQL reported: '.mysql_error(), __FILE__, __LINE__);
        }

Добавлено спустя     4 минуты   4 секунды:
кстате в борке hcs - эта строка вроде бы закоментирована:

/*            @mysql_query("SET NAMES 'utf-8'");*/

Добавлено спустя     13 минут   3 секунды:
forum.ru55.ru/rrf_search_words.zip

когда вижу по русски в posts - кодировка естественно UTF* в эксплорере стоит. И когда сморю поле Word - тоже кодировка UTF-8

Добавлено спустя     18 минут   50 секунд:
это всё про сборку Dexus

щас проверил на 19-й сборке hcs - то же самое ! - карячки в Test.php

я раскоментировал строку с set names - всеравно карячки в test.php
и ничего не меняется в search_words таблице

68

(28 ответов, оставленных в Вопросы и ответы)

хм...

я щас проведу эксперимент - у меня есть 4 твои сборки:

я сейчас залью их все к хостеру и поставлю.

Делать буду так: у меня же хостер ихний - поэтому там када базу создаешь - колейт latin1, я тыкаю в ОПЕРАЦИИ и меняю там колейт на utf8_unicode_ci

затем устанавливаю туда тока что залитую сборку.

------------------
(и вот тут я не понял - почему у тебя во всех сборках в таблице search_words, поле word до сих пор VARCHAR(20) - ведь ты сам советуешь поставить (40), а еще советуют вместо VARCHAR ставить VARBINARY. может сразу так и делать. И - на что влияет увеличение этой цифры? - ну там - нагрузка на сервер и всё такое?

кстате я щас на денвере например не могу вернуть VARBINARY(50) к VARCHAR(50) например - орет что dublicate entry
-----------------

ну кароче сраньше сразу туда заходил и делал VARBINARY(40) - чтобы не ждать когда станет появляться ошибка dublicate entry

чого делать щас?  - сперва попробую по умолчанию - VARCHAR(20) не менять. как что не так - скажу.

попробую старые сборки и 19-ю

и тоже самое попробую на денвере.

Добавлено спустя     1 минуту   2 секунды:

hcs пишет:

таблица слов не связана с таблицами сообщений и юзеров. если что-то накроется, то всё разом, и решаемая проблема поиска тут не при чем

накроется - и мел ввиду не то что сообщения пропадут, а то что будет вылазить эта очень уже надоевшая ошибка.

69

(28 ответов, оставленных в Вопросы и ответы)

ступил!

щас заменил в search.php - стало:

// Detect two byte character sets
//$multibyte = (isset($lang_common['lang_multibyte']) && $lang_common['lang_multibyte']) ? true : false;
$multibyte = false;

но от этого проблема не решилась.

если очистить таблицы поиска, и поменять их параметры к VARCHAR(20) или VARBINARY(40) - то форум не переиндексируется, выдавая ошибку

An error was encountered
File: /usr/home/web/punbb/punbb.ru/include/search_idx.php
Line: 149

PunBB reported: Unable to insert search index words 

Database reported: Duplicate entry 'ОГРОМНАЯ КУЧА СЛОВ, ЗАПИСАННЫХ КАРЯЧКАМИ ВМЕСТО РУССКИХ' for key 1 (Errno: 1062)

соответственно искать не могу

если сделать VARBINARY(60) - проиндексирует. НО ВСЕ будет карячками всеравно.
Меня это очень беспокоит помогите пожалуйста!

Добавлено спустя     2 минуты   32 секунды:
привет hcs!!! наконец то ты появился!!
скажи пожалуйста - у тебя в майпхпадмине- тоже а этом поле корячки?


у меня щас большая боязнь - после какого то момента (когда база станет большая) форум может накрыться медным тазом. ЛЮБОЙ. от этой проблемы. чо у меня и произошло...

ведь свежеустановленый - работает (но там всеравно карячки и ищет он КОРЯВО)

70

(28 ответов, оставленных в Вопросы и ответы)

$multibyte = false;

- это в lang/russian/common.php

да?
----------------

про strtolower -> mb_strtolower ты конечно знаешь...

не уверен - я знаю про mb_strlen, а про mb_strlower- ненаю... Расскажи пожалуйста?

и еще - какая разница в регистрозависимости, если у меня "автомобиль" - малыми буквами и паттерн поиска "авто" - малыми буквами?

ну и я пользую колейт Utf_unicode_ci а не  utf_general_ci

но они ведь обе, насколько я понимаю - регистронезависимые?

решил провести эксперимент - у меня сохранился на локальной машине мой старый форум ru55.ru
так вот. захожу в поиск, слово

авто

выдает аж 5 страниц тем!

на utf - тока что поставленная сборка HCS - делаю пост в котором встречаются слова "солдат" и "автомобиль".

по слову солдат - находит этот пост, по слову "авто" - не находит, по слову

авто*

находит этот пост.

мне это ОЧЕНЬ НЕ НРАВИТСЯ!!!


-------------------щас попробую false

Добавлено спустя     2 минуты   6 секунд:
хм...

.

.
щас поискал strtolower в файле functions.php - там докучи раз встречается...

Добавлено спустя     6 минут   39 секунд:
попробовал false в lang/russian/common.php:

заменил, перестроил поисковый индекс в админке.

по "авто" - ничего не находит
по "авто*" - находит те же 5 страниц


вот что в words:


1    nissan
              2    cefiro
              3    ����
              4    �����

как добиться чтобы тут по русски было??? sad

Добавлено спустя     13 минут   12 секунд:
попробовал теперь вернуть WORD к Varbinary(40)  - я ж  60 делал:

Ошибка

SQL-запрос:

ALTER TABLE `rrf_search_words` CHANGE `word` `word` VARBINARY( 40 ) NOT NULL

Ответ MySQL: 
#1062 - Duplicate entry 'набор символов, с которым не добавилось, потому и заменил на эту надпись' for key 1

когда попытался это добавить здешний форум ТОЖЕ выдал:

An error was encountered
File: /usr/home/web/punbb/punbb.ru/include/search_idx.php
Line: 149

PunBB reported: Unable to insert search index words

Database reported: Duplicate entry 'тут тоже заменил' for key 1 (Errno: 1062)

Добавлено спустя     21 минуту   11 секунд:
видели какие тут проблемы тоже!!!

постю, онв выдает:

An error was encountered
File: /usr/home/web/punbb/punbb.ru/include/search_idx.php
Line: 149

PunBB reported: Unable to insert search index words

Database reported: Duplicate entry 'тут тоже заменил' for key 1 (Errno: 1062)

ну я возвращаюсь, стираю карячки - постю, снова выдает тоже. пока все не стер (тока 2 строки оставил) - не позволяла, но оказывается всёатки постила... щас всё лишнее стер..

чтото мне это совсем не нравится sad

Добавлено спустя   1 час   3 минуты   4 секунды:
тоесть ясно что дома на денвере работает тока от того что нету таких длинных значений поля Word заполненых неясными для движка символами.



Обьясните же как так получается??? - что в PHPMyAdmin всё по русски!! а это поле - карячками???

71

(28 ответов, оставленных в Вопросы и ответы)

дак причем туту регистр? - я же копировал в посте слово - значит не при чем регистр.

в search.php : 45,46,47 строки

// Detect two byte character sets
$multibyte = (isset($lang_common['lang_multibyte']) && $lang_common['lang_multibyte']) ? true : false;

72

(28 ответов, оставленных в Вопросы и ответы)

когда ставлю форум, сразу меняю в значение Word на с VARCHAR(20) на VARBINARY(40) иначе либо форум перестанет рабоать (UTF) с моей базой которая есть щас - будет выдавать ошибк уDublicate Entry (но не всегда - смотря что напишешь). либо будет работать незнаю до какого момента, елси его с чистой базой пользовать.

Так вот - со всем форумом всё просто супер!

а вот в ПХП-май-Админе видно вот что:

Ряды     word
1    808080
1    post
1    test
1    ���������
1    ���������
1    ������
1    ������
1    ����2
1    ������
1    ������
1    ��������
1    ������

при этом в таблице posts - видно по русски содержание постов.
ИЩЕТ он отчего то по русски.

Ставлю ТУ ЖЕ сборку HCS на хостинг - не ищет сабака! - нет такого значения!



В сборке Dexus - вообще перестроить индекс согласился (в админке) - тока когда я значение с 40 поднял (сразу поднял до 60).
(это на денвере, на хостинге еще не пробовал)
НО там такие же корячки - и - не ищет!!!

ПОИСК не работает. беру выделяю любое слово в люьом посте, иду в поиск, вставляю - нет такого говорит.
.

в functions.php есть:

function pun_strlen($str)
{
    // FIX FOR UTF-ENCODING 
    //return strlen(preg_replace('/&#([0-9]+);/', '!', $str));
    return mb_strlen(preg_replace('/&#([0-9]+);/', '!', $str), 'UTF-8');
}

в обоих сборках.


forum\lang\Russian\common.php есть кусок где врублен мультибайт и кодировка поправлена на UTF8:

<?php


// Determine what locale to use
switch (PHP_OS)
{
    case 'WINNT':
    case 'WIN32':
        $locale = 'russian';
        break;

    case 'FreeBSD':
    case 'NetBSD':
    case 'OpenBSD':
        $locale = 'ru_RU.CP1251';
        break;

    default:
        $locale = 'ru_RU';
        break;
}

// Attempt to set the locale
setlocale(LC_CTYPE, $locale);


// Language definitions for frequently used strings
$lang_common = array(

// Text orientation and encoding
'lang_direction'        =>    'ltr',    // ltr (Left-To-Right) or rtl (Right-To-Left)
'lang_encoding'            =>    'utf8',
'lang_multibyte'        =>    true,

там есть указания наверху
        $locale = 'russian';

и

    default:
        $locale = 'ru_RU';


-может в этом дело?

я олт этого мода отказался, в пользу аттач-мода или того что у артудету в повер эдишен..

74

(23 ответов, оставленных в Модули и плагины)

наверно я не все блоки перенес нужные из edit.php - там не тока 2 обрамленых

//Attach
щас попробую ещё

Добавлено спустя     54 минуты   33 секунды:
оказывается 10 полей и у Slavik в edit.php значит (теоретически) в post.php все гут!

но в эдит сложнее код - там сперва нужно посчитать скока в посте уже есть вложений, и потом прибавить оставшееся количество полей.

поэтому нельзя просто вставить код из post.php

что делать (с) Чернышевский...

75

(9 ответов, оставленных в Модули и плагины)

может он стереть count.dat не может - прав нет?
хотя врядтли...