Po aktualizacji WordPressa do wersji 4.1.2 wiele osób zgłasza problemy z zapisem swoich wpisów. Ze względu na to, że ta wersja mocno uwzględnia kodowanie znaków wprowadzanych do bazy, tam zacząłem szukać rozwiązania.

Dla jednego z moich klientów kluczowe okazało się sprawdzenie i zmiana ustawienia w bazie danych.

Zarówno tabele jak i pola dla własności „Metoda porównywania stringów” miała nieprawidłową wartość. Tutaj konkretnie było to „latin2_general_ci„, a powinno być jest „utf8_general_ci„.

Po zmianie zarówno dla tabel, jak dla pól wszystko zaczeło działać poprawnie.

Uwagi:

  1. Zanim zaczniesz to zmieniać zrób kopię bazy – można ją kompletnie rozwalić.
  2. Pokazana zmiana dotyczy bazy kodowanej w UTF8 jak masz kodowanie inne, to „Metoda porównywania stringów” musi być dobrana do kodowania.
  3. Jeżeli w twoim przypadku nie ma tego błedu lub nie poprawiło się, to daj znać w komentarzach.

Komentarze

Próba zmiany w post_content na kodowanie utf8_general_ci powoduje błąd #1283 – Column 'post_content’ cannot be part of FULLTEXT index .

Problem został rozwiązany poprzez jednoczesną zmianę kodowania we wszystkich wartościach zawierających fulltext.

No tak ale skad sie biora te roznice? Czy domyslnie WP nie instaluje sie z obsluga wlasnie w UTF8 a tu nagle latin?

Właśnie pojawiła się nowa wersja WPressa z numeracją 4.2 – kodowanie jest poprawione i dodawanie treści z pl-ogonkami działa poprawnie

Poprawili jeszcze przed 4.2, szybkim wydaniem poprawkowym 4.1.3 ( https://core.trac.wordpress.org/ticket/32051 ).
Ale jak Marcin już wspomniał, warto zrobić sobie porządek kodowaniem bazy.
Niestety, ale w hostingach często spotkać można różne egzotyczne defaultowe ustawienia …a i ludzie nieraz nie zwracają uwagi co ustawiają przy tworzeniu – potem różne cuda wyłażą.

iWorks Marcin Pietrzak

Wykorzystujemy ciasteczka do spersonalizowania treści i reklam, aby oferować funkcje społecznościowe i analizować ruch w naszej witrynie.

Informacje o tym, jak korzystasz z naszej witryny, udostępniamy partnerom społecznościowym, reklamowym i analitycznym. Partnerzy mogą połączyć te informacje z innymi danymi otrzymanymi od Ciebie lub uzyskanymi podczas korzystania z ich usług.

Informacja o tym, w jaki sposób Google przetwarza dane, znajdują się tutaj.