To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

Bazy danych SQL - [Problem] odbudowa search

zielony - 16-02-2006, 00:40
Temat postu: [Problem] odbudowa search
próbuję odbudować search:

Kod:
Błąd Ogólny   
Could not insert new word matches

DEBUG MODE

SQL Error : 1271 Illegal mix of collations for operation ' IN '

INSERT INTO phpbb_search_wordmatch (post_id, word_id, title_match) SELECT 73, word_id, 0 FROM phpbb_search_wordlist WHERE word_text IN ('zaczynam', 'się', 'cieszyć', 'mnie', 'akurat', 'wtedy', 'wykładzie', 'nie', 'było', 'moje', 'sznurówki', 'w', 'ogóle', 'zaliczają', 'moich', 'ulubionych', 'dań...', 'też', 'miałem', 'całki', 'ale', 'liczb', 'zespolonych...', 'yyy', 'nie.', 'klasie', 'ujowskiej', '5', 'na', '100', 'oni', 'mieli', '7h', 'tydzień', 'matematyki', 'rok', 'dodatkowo', 'tydz.', 'tzw.', 'elementów', 'wyższej')

Line : 265
File : functions_search.php

Jeśli nie potrafisz znaleźć rozwiązania tego problemu,
możesz spróbować poszukać, lub zadać pytanie na forum: http://www.przemo.org/phpBB2/


wszedłem do phpMyAdmin i naprawiłem te tabele:
phpbb_search_results
phpbb_search_wordlist
phpbb_search_wordmatch

nic to nie dało no to je wyczyściłem.

nadal nic to nie dało. ten sam komunikat co wyżej.
co moge na to poradzić?

[ Dodano: 16-02-2006, 23:22 ]
naprawdę nie da się z tym nic zrobić?

sniper89 - 13-09-2007, 15:48

W końcu, po długich bojach, udało mi się tego dokonać.

W db/mysql4.php (teoretycznie powinno pomóc samo "SET NAMES", ale najwyraźniej skrypt usuwa i tworzy nowe tabele o domyślnym kodowaniu używanym przez bazę więc potrzeba i "SET CHARSET"):
Kod:
    //
    // Constructor
    //
    function sql_db($sqlserver, $sqluser, $sqlpassword, $database, $persistency = true)
    {
        $this->persistency = $persistency;
        $this->user = $sqluser;
        $this->password = $sqlpassword;
        $this->server = $sqlserver;
        $this->dbname = $database;

        $this->db_connect_id = ($this->persistency) ? mysql_pconnect($this->server, $this->user, $this->password) : mysql_connect($this->server, $this->user, $this->password);

        if( $this->db_connect_id )
        {
      mysql_query('SET NAMES \'latin2\'');
      mysql_query('SET CHARSET latin2');

gdzie latin2 to Twoje kodowanie.

Później "Odbudowujesz Search", wchodzisz do phpMyAdmina i zmieniasz kodowanie tabel phpbb_search_* na to, którego używasz (w moim przypadku latin2_general_ci), a później także kolumn tych tabel (ważne!!!, zwróć także uwagę na to, że jedna z kolumn ma kodowanie latin2_bin, a nie latin2_general_ci, lub odpowiednio inną *_bin). Następnie usuwasz linijkę
Kod:
mysql_query('SET CHARSET latin2');

z mysql4.php i voila! :)

przemcioo - 17-09-2007, 14:18

przepraszam za moje lamerskie pytanie, ale po się odbudowywuje search?

[ Dodano: 17-09-2007, 15:19 ]
aj już wiem, sorki za pytanie, można to usunąć. znalazłęm w panelu admina :)
pozdrawiam



Powered by phpBB modified by Przemo © 2003 phpBB Group