Strona 1 z 1

po przeniesieniu nie można tworzyć tematów

: 09 marca 2006, 10:32
autor: herz
Witam
Szukałem ale nie znalazłem więc pytam :
przeniosłem forum na inny serwer, odtworzyłem bazę itp...
niestety - nie mam polskich znaków (w normalnych kodowaniach iso, utf, win)
jest to problem bo niektórzy userzy mają polskie znaki w loginie :(

as teraz problem 2:
przy zakładaniu nowego topica wyskakuje błąd:
SQL Error : 1271 Illegal mix of collations for operation ' IN '
SELECT m.word_id FROM phpbb_search_wordmatch m, phpbb_search_wordlist w WHERE w.word_text IN ('dobre', 'działa', 'mam', 'nadzieję', 'wróciło', 'znowu') AND m.word_id = w.word_id GROUP BY m.word_id HAVING COUNT(m.word_id) > 4453

Line : 318
File : functions_search.php

ktoś ma pomysł ??

: 09 marca 2006, 16:21
autor: mateusz
herz pisze:Szukałem ale nie znalazłem więc pytam :
przeniosłem forum na inny serwer, odtworzyłem bazę itp...
niestety - nie mam polskich znaków (w normalnych kodowaniach iso, utf, win)
jest to problem bo niektórzy userzy mają polskie znaki w loginie
kodowanie bazy i pliku kopi bazy było inne. szukaj na forum bo o kodowaniu tematy juz były.


problem 2
jeśli znasz angielski:
http://www.phpbb.com/phpBB/viewtopic.php?t=232264

albo
Trzeba powiedzieć żeby skrypt obsługiwał baze z innym kodowaniem znaków niż domyślne. Można to zrobić poprzez dodanie w pliku /db/mysql4.php około 60 linii po wyborze bazy:
mysql_db_query($this->dbname,"SET character_set_connection=latin2",$this->db_connect_id);
mysql_db_query($this->dbname,"SET character_set_client=latin2",$this->db_connect_id);
mysql_db_query($this->dbname,"SET character_set_results=latin2",$this->db_connect_id);
wygląda to tak:
if( $database != "" )
{
$this->dbname = $database;
$dbselect = mysql_select_db($this->dbname);

if( !$dbselect )
{
mysql_close($this->db_connect_id);
$this->db_connect_id = $dbselect;
}
mysql_db_query($this->dbname,"SET character_set_connection=latin2",$this->db_connect_id);
mysql_db_query($this->dbname,"SET character_set_client=latin2",$this->db_connect_id);
mysql_db_query($this->dbname,"SET character_set_results=latin2",$this->db_connect_id);
}
błąd tez spowodowany błędnym kodowaniem.
pamiętajk aby mieć kopiep lików które edytujesz.

: 10 marca 2006, 10:25
autor: herz
Niestety - jedyna zmiana jaka się pojawiła to zamiast pierwszego komunikatu o błędzie pojawił się "Could not obtain common word list" który maskuje powyższy - więc nic się nie zmieniło
w bazie ustawiłem charset latin2 , collation latin2_general_ci

gdzie jeszcze szukać ???
proszę pomocy bo mnie userzy zeżrą :/

: 10 marca 2006, 13:29
autor: mateusz
spróbuj jeszcze raz wgrać kopie plików z starej bazy tylko sprawdzając kodowanie. dodatkowo możesz przetobić plik na inne kodowanie np. notatnik+ :D