Uwaga: ten wpis powstał dawno temu. Istnieje spora szansa, że nie odzwierciedla obecnych poglądów i opinii autora.
Pytałem już w kilku miejscach, ale na razie bez odpowiedzi, więc może tu jakąś dostanę, bo przecież czyta ten blog przynajmniej parę osób znających się na bazach danych i okolicach.
Od kilku dni czasem przy dodawaniu lub edycji wpisów (a także próbie usunięcia niektórych stron czy wpisów) rozwala mi się tabela wp_posts w bazie danych. Dostaję taki komunikat:
WordPress database error: [Incorrect key file for table ‘wp_posts’; try to repair it]
UPDATE
wp_posts SET post_author = ‘1’, post_date = ‘2006-01-16 06:56:52’,
post_date_gmt = ‘2006-01-16 05:56:52’, post_content = ‘[ ciach
zawartośc wpisu ]’, post_content_filtered = ”, post_title = ‘Stylish’,
post_excerpt = ”, post_status = ‘publish’, comment_status = ‘open’,
ping_status = ‘open’, post_password = ”, post_name = ‘stylish’,
to_ping = ”, pinged = ”, post_modified = ‘2006-01-17 06:26:42’,
post_modified_gmt = ‘2006-01-17 05:26:42’, post_parent = ‘0’,
menu_order = ‘0’ WHERE ID = 892Warning: Cannot modify header
information – headers already sent by (output started at
/blog/wp-includes/wp-db.php:102) in /blog/wp-admin/post.php on line 124
Polecenie ‘repair table wp_posts’ zaprawia sprawę, ale tylko na jakiś
czas. Googlałem za rozwiązaniem i chociaż znalazłem pytania o ten
problem, to jedyną odpowiedzią było odpalenie upgrade.php, a to
zrobiłem przy przejściu na WP2.0, a po pojawieniu się tych kłopotów
ponownie. Niestety nie pomogło.
Czy ktoś z Was spotkał się tym problemem i zna jego rozwiązanie? Jeżeli nie znajdę na to rady, to będę musiał spróbować na nowo instalować wp, a przynajmniej tą jedną tabelę,
skąd jednak mogę mieć pewność, że przy imporcie obecnej bazy danych nie
ściągnę sobie kłopotów na nowo?
Wygląda podejrzanie podobnie do tego błędu MySQL:
http://bugs.mysql.com/bug.php?id=10903
Raczej nie masz bazy w GB2312, ale może przyczyna jest podobna. Czy we wpisach, po których pojawiały się problemy z bazą danych, miałeś jakieś dziwne znaczki? Może po jakimś komentarzu? I jakie masz kodowanie bazy?
Komentarze są osobno i nie napotkałem z nimi żadnych kłopotów.
Nie mogę dokładnie określić po jakim poście pojawiły się te kłopoty. Na pewno nie mogę edytować http://www.golf-olszewka.pl/blog/index.php/oautorze/ – tu chyba po raz pierwszy zauważyłem problemy.
Z pozostałymi wpisami jest różnie, czasem dają się edytować, czasem nie.
Baza, z tego co widzę w phpMyAdmin ma ustawione
“System kodowania znaków dla MySQL: ISO 8859-2 Central European (latin2)”. System porównań dla wp_posts to “utf8_polish_ci”.
Na “o autorze” nie widzę nic specjalnego poza udziwnionymi cudzysłowami i apostrofem (nie są zapisywalne w iso-8859-2) — rozumiem, że te w edytorze pojawiają się jako normalne znaki.
Nie mam innego pomysłu niż postawić gdzieś testowe WP i pobawić się trochę zrzutem Twojej bazy danych, żeby znaleźć fragment, który powoduje kłopoty. Mogę spróbować pomóc, jeśli nikt nie podpowie nic sensowniejszego.
Hehe, nie powiem “a nie mówiłam”, ale gdybym chciała być złośliwa, to właśnie to bym powiedziała ;)
Może problem w tym, że bazę MySQL masz w ISO 8859-2, a resztę w UTF8.
Właśnie spróbowałem wyczyścić “o autorze” z wszystkich znaków poza literkami, ale i tak przy zapisie się wysypało. :(
Ja bym zaczął od zrobienia zrzutu bazy, wywalenia jej zawartości i odtworzenia ze zrzutu, po uprzedniej zmianie wszystkiego na utf8_polish_ci albo utf8_general_ci.
No to juz mam co robić dziś w nocy :)
Masz dostęp do konfiguracji MySQLa?
Tu: http://forums.mysql.com/read.php?21,50214,53333#msg-53333 piszą, że zostawienie key_cache_block_size na wartości domyslnej jakby pomaga na takie. Albo zmiana engine.
W ogólności – wygląda na babol MySQLa.
Jako temporary workaround, mogłoby też pomóc dodanie wywołania SQL:
Zaraz po połączeniu i wybraniu bazy.
Nie wiem, czy to wina kodowania, bo u siebie też mam UTF-8 w WP i ISO-8859-2 w bazie.
Ja bym zaczął od lokalnego uruchomienia WP 1.5 z tą bazą – a nuż to sprawka wersji 2.0?
I feed RSS też coś Ci się spsuł. Przynajmniej planeta barfuje na niego.
zdzichuBG: Walidatory mówią, że feed jest ok. Google Reader też nie narzeka, a i 10przykazań dobrze z nim pracuje.
I nagle działa. Strange.