"Illegal mix of collations" - upgrade z wersji 4.7 do 5.7

Podnoszę serwis do wersji 5 z 4.7, postępuję książkowo czyli wyłączam dodatkowe moduły, przełączam się standardową skórkę itd.

Po aktualizacji otrzymuję zawsze błąd:

user warning: Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '=' query: SELECT DISTINCT b.* FROM blocks b LEFT JOIN blocks_roles r ON b.module = r.module AND b.delta = r.delta WHERE b.theme = 'judotgory_2' AND b.status = 1 AND (r.rid IN (1) OR r.rid IS NULL) ORDER BY b.region, b.weight, b.module in /home/kglaz/domains/judo.tgory.pl/public_html/2008/includes/database.mysql.inc on line 172.

Jedyny opis takiego błędu znalazłem tutaj – ale to mi nic nie pomaga.

Kodowanie wszystkich tabel i pól (jak i porównywanie napisów) mam w utf8.

Wersja bazy danych: 4.1.22

Całe szczęście wykonywałem upgrade na kopi portalu (http://2008.judo.tgory.pl), bo teraz nie mam pomysłu co zrobić.

Jakieś pomysły?

Sposób wyświetlania odpowiedzi

Wybierz preferowany sposób wyświetlania odpowiedzi i kliknij "Zachowaj ustawienia", by wprowadzić zmiany.
Portret użytkownika archetwist

Próbowałeś skryptu

moderator
Portret użytkownika Erewhon

nie szukajcie tylko na drupal.org

moderator

skrypt zadziałał, dzięki archetwist (jak będziesz kiedyś na śląsku albo ja zawitam w rodzinne w rodzinne strony mojej mamy – na pomorze to masz u mnie duże piwo).

i mam nauczkę, żeby nie szukać tylko na drupal.org.

A dla potomnych rozwiązanie problemu:

Należy znaleźć miejsce w pliku update.php gdzie znajdują się wpisy:

update_fix_schema_version();
update_fix_watchdog_115();
update_fix_watchdog();
update_fix_sessions();

i wkleić wcześniej kod:

function convert_to_utf8($tables) {
  foreach($tables as $list) {
  update_convert_table_utf8($list);
  }
}

convert_to_utf8(array(
  'access', 'accesslog', 'aggregator_category',
  'aggregator_category_feed', 'aggregator_category_item',
  'aggregator_feed', 'aggregator_item', 'authmap', 'blocks',
  'book', 'boxes', 'cache', 'comments', 'contact',
  'node_comment_statistics', 'client', 'client_system', 'files',
  'filter_formats', 'filters', 'flood', 'forum', 'history',
  'locales_meta', 'locales_source', 'locales_target', 'menu',
  'node', 'node_access', 'node_revisions', 'profile_fields',
  'profile_values', 'url_alias', 'permission', 'poll', 'poll_votes',
  'poll_choices', 'role', 'search_dataset', 'search_index',
  'search_total', 'sessions', 'sequences', 'node_counter',
  'system', 'term_data', 'term_hierarchy', 'term_node',
  'term_relation', 'term_synonym', 'users', 'users_roles', 'variable',
  'vocabulary', 'vocabulary_node_types', 'watchdog'
));

Od tego momentu postępujemy tak jak przy każdym uaktualnianiu, czyli po wyłączeniu dodatkowych modułów i uruchomieniu standardowej skórki uruchamiamy zmodyfikowany skrypt update.php.

Portret użytkownika archetwist

drupal.org

moderator

Tę stronę znalazłem przez drupal.org ;)

jak będziesz kiedyś na śląsku albo ja zawitam w rodzinne w rodzinne strony mojej mamy – na pomorze to masz u mnie duże piwo

Będę pamiętać. Z Krakowa bliżej na Śląsk niż Pomorze.

design www drupal