F.A.Q. - Najczęściej Zadawane Pytania - Kodowanie bazy / krzaczki zamiast polskich liter
J. - 06-11-2009, 15:09
podepnę się.
problem taki.
baza danych, polskie znaki są.
backup bazy wrzucałem na nazwa.pl działa spoko, wrzuciłem na superhost.pl działa spoko, wrzuciłem na prohost.pl i dupa. zamiast polskich znaczków znaki zapytania. jeden znak na literkę.
kodowania i metody porównywania mam identyczne jak w przypadku nazwy i superhosta.
może ktoś pomóc?
siedzę już 2 godzinę i bawię sie kodowaniem i za cholere nie wiem co to może być.
śmieszne jest też to, że podczas pobierania ostatnich postów/tematów na stronie polskie znaki się pojawiają, ale np litery, które mam w bazie danych jako jakieś krzaczki i pobiera to na stronę to też wychodzą krzaczki.
na stronie się pojawiają polskie literki ponieważ mam wstawione mysql_query("SET NAMES utf8");. bez tego również znaki zapytania
www.trabantowy.prohost.pl/tt/
proszę przykład.
/edit
już sobie poradziłem. dopisałem do mysql4.php
Kod: | mysql_query('SET NAMES latin2', $this->db_connect_id);
mysql_query('set charset latin2', $this->db_connect_id); |
i dziala. w sumie nie rozumiem dlaczego tak się stało, że muszę to dopisać
teraz mam problem z danymi co są w bazie w postac krzaczków, ale to już inne forum.
Stoow - 24-11-2009, 15:10
Ja mam z kolei inne pytanie. zamierzam skorzystać z phpBB by Przemo już przy kolejnym projekcie, ale dopiero teraz zacząłem zastanawiać się nad kodowaniem. Kiedy mam już pusta bazę danych gotowa do użycia, powinienem ustawić jej metod porównywania na utf8_general_ci czy tez może latin2_general_ci żeby w razie czego nie było problemów z przenosinami na inny serwer?
tosiek - 24-11-2009, 15:13
Stoow, phpbb by przemo nie zadziała z utf8 Oczywiście że latin2 + wgraj plik mysql4.php z tego tematu przed instalacja forum http://www.przemo.org/php...pic.php?t=62233
lub wykonaj ręcznie:
Cytat: | należy edytować plik db/mysql4.php
wstaw pod:
Kod: | $dbselect = mysql_select_db($this->dbname); |
to:
Kod: | mysql_query('SET NAMES latin2 COLLATE latin2_general_ci', $this->db_connect_id); |
|
I przed przenosinami ustaw nową bazę także na latin2 + edycja tego pliku
Stoow - 24-11-2009, 15:19
Właśnie to mnie ciekawiło, czytałem już, że skrypt nie obsługuje UTF-8, jednak na kilku forach mam bazy w UTF-8 ustawione i wszystko ładnie działa
Z tego co rozumiem, ten wpis wymusza kodowanie ISO-8859-2?
tosiek - 24-11-2009, 15:26
Tak. Niezależnie od konfiguracji mysql wymusza kodowanie latin2 (iso-8859-2). Ok skoro masz utf8 to czy po wejściu za pomocą phpmyadmina w tabelę np. phpbb_posts_text widzisz polskie znaki czy krzaczki ? Obstawiam że krzaczki
Te kody wyżej do edycji są błędne, widać tam czyjąś niewiedzę (dupska do dokumentacji nie chciało się ruszyć)
http://dev.mysql.com/doc/...connection.html
SET NAMES ustawia 3 parametry które są wykorzystywane, nie trzeba nic więcej (ew porównanie połączeń):
Kod: | SET character_set_client = x;
SET character_set_results = x;
SET character_set_connection = x;
|
Stoow - 24-11-2009, 15:33
tosiek napisał/a: | widzisz polskie znaki czy krzaczk |
Niezaprzeczalnie krzaczki
Dzięki za wyjaśnienia, nawet sobie te dwa posty wrzucę w zakładki na przyszłość
tosiek - 24-11-2009, 15:38
Stoow, więc nie masz utf8 lecz latin1 (konkretniej latin2 zapisany jako latin1) więcej o tym pisałem http://tosiek.pl/o-co-cho...-polskie-znaki/ , masz zapewne tylko porównywanie znaków w utf8_XXXX_ci
19gazda62 - 27-12-2010, 14:55
Po odtwarzaniu starej bazy danych na nowym serwerze wyświetla mi się takie coś.
Kod: | General Error
SQL ERROR [ mysql4 ]
Unknown column 'is_dynamic' in 'where clause' [1054]
An sql error occurred while fetching this page. Please contact an administrator if this problem persists.
|
piekarz - 16-04-2011, 01:24
Przeczytałem cały ten temat i niestety nie znalazłem jednoznacznej odpowiedzi co zrobić, żeby naprawić ten problem przy pisaniu postow/odbudowywaniu tabel search:
Cytat: | Could not insert new word matches
DEBUG MODE
SQL Error : 1271 Illegal mix of collations for operation ' IN '
INSERT INTO forum_search_wordmatch (post_id, word_id, title_match) SELECT 11, word_id, 0 FROM forum_search_wordlist WHERE word_text IN ('color', 'b00000', '5795d552b4', 'regulamin', '§1.', 'ogólne', 'zasady', '1.1', 'każdy', 'użytkownik', 'prawo', 'posiadania', 'jednego', 'tylko', 'konta', 'forum.', 'przypadku', 'posiadacza', 'lub', 'więcej', 'kont', 'jedno', 'nich', 'zostanie', 'zablokowane', |
Czy może ktoś opisać co należy zrobić?
Bodzio1 - 17-08-2011, 17:31
Witam!
Sytuacja w moim wypadku: na stronie zamist PL liter pojawia się "?".
Moje bazy:
zródło:
System porównań dla połączenia MySQL: utf8_unicode_ci
Kodowanie napisów dla MySQL: UTF-8 Unicode (utf8)
Motedoa porównywania napisów (tabel): latin1_general_ci
cel:
System porównań dla połączenia MySQL: utf8_unicode_ci
Kodowanie napisów dla MySQL: UTF-8 Unicode (utf8)
Motedoa porównywania napisów (tabel): latin2_general_ci
Wykonałem export i import poprzez phpMyAdmin wg wskazówek z pierwszego posta - w bazie znaki są identyczne, mam na myśli to, jak ja to widzę w polach przez phpMyAdmina.
Dodałem też SET NAMES w zapytaniu do bazy - bez rezultatu.
Mogę prosić kogoś, kto już z tym walczył o jakieś wskazówki? Co trzeba zmienić?
eSPe - 27-08-2011, 12:56
Witam.
Mam takie pytanko.
Czy nie można przenieść forum w sposób jak w przypadku PHPBB3?
Tj.
1. Instalacja czystego forum na nowym serwerze
2. Wczytanie bazy z forum które chcemy przenieść
3. Wkopiowanie nadpisanie forum do przeniesienia na "czyste" nowo zainstalowane forum (poza plikiem config.php i folderem "cache") ??
Woytec - 27-08-2011, 15:31
1. Przeniesienie plików
2. Przeniesienie bazy
3. Zmiana danych w config.php i w konfiguracji-domena
eSPe - 28-08-2011, 17:36
Woytec napisał/a: | 1. Przeniesienie plików
2. Przeniesienie bazy
3. Zmiana danych w config.php i w konfiguracji-domena |
1. Przeniosłem forum Kopiuj wklej na nowy serwer.
2. na nowym hostingu utworzyłem nową bazę
3. w config.php podałem lokalizację bazy (na nowym hostingu)
4. bazę ze starego serwera zaimportowałem przez dbloader/dbloader.php
wyskakuje biały ekran i treść:
Kod: | phpBB by Przemo : Critical Error
Error doing DB query userdata row fetch
DEBUG MODE
SQL Error : 1146 Table 'vorumowisko.phpbb_2users' doesn't exist
SELECT * FROM phpbb_2users WHERE user_id = -1
Line : 406
File : sessions.php |
Woytec - 28-08-2011, 17:42
Edytuj plik config.php
eSPe - 28-08-2011, 19:42
No zedytowałem i mam tam podane dane do nowego serera (do bazy już na nowym serwerze).
[ Dodano: 28-08-2011, 20:56 ]
Walczę cały czas i nic.
Podczas importu bazy przez dumploadera wyskakuje mi takie coś:
Kod: | 1 1050: Table 'phpbb_2admin_notes' already exists Pozycja w pliku: 0
CREATE TABLE phpbb_2admin_notes(
text text
) |
|
|
|