To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

Konwersje, przenoszenie, łączenie forów, integracje - Polskie literki znikaj? w 1.12.7-8

ivel - 14-11-2015, 09:39
Temat postu: Polskie literki znikają w 1.12.7-8
Witam wszystkich,

Dotyczy Forum: http://forum.bractwo-rivendell.pl
KontekstZe względu na aktualizację PHP na serwerze do 5.6 zmusiło mnie do dokonania solidnej aktualizacji z 1.12.6. w górę.

Przeszedłem przez 1.12.7 i 1.12.8 zgodnie z instrukcjami: update.php później zmiana plików. Już na etapie 1.12.7 zauważyłem problem, ale dla pewności puściłem dalszą aktualizację, żeby mieć pewność, że ona czegoś nie naprawi.

Problem w tym, że po aktualizacji zamiast polskich liter mam znaczki pytajników. Nie mogę też dodawać postów z polskimi literami.

Jak wygląda u mnie kodowanie:
- Baza: Z historycznych względów (forum ma wiele lat już), tabele forum w bazie mają kodowanie latin1_swedish_ci (jak mi mówi phpMyAdmin).
- Strona: W szablonie S_CONTENT_ENCODING ustawia ISO-8859-2
- config.php: Wydaje mi się, że oryginalnie też tego nie było, tylko historycznie dodałem header do tego pliku, który wymusz ISO-8859-2.

Czego próbowałem do tej pory?
- Zmieniałem już próbnie kodowanie na sztywno w szablonie na latin1 lub na utf-8 - nie było widać różnicy.
- Podobnie zmieniałem kodowanie w kodzie config.php w funkcji header(); Próbowałem także wyłączyć zupełnie tę funkcję. Nic to nie zmieniło.
- Zastanawiałem się nad przekodowaniem tabel w phpMyAdmin - boję się jednak, że mocno przy tym namieszam i całkiem się posypie.
- Próbnie wgrałem pliki wersji 1.12.6 ale zachowując zaktualizowaną bazę i kodowanie wyświetlało się dobrze. Stąd wnioskuję, że to coś z kodowaniem po stronie skryptu.

Mogę Was prosić o jakieś pomysły, co dalej mógłbym zrobić, żeby sprawę rozwiązać? Nie ukrywam, że w kolejce mam 2 kolejne fora oczekujące na aktualizację i problem będzie zapewne podobny.

Dodatkowe objawy
Przy dodawaniu posta z szybkiego dodawania przenosi mnie na stronę odpowiedzi z komunikatem:

Sesja połączenia wygasła lub numer ID sesji jest nieprawidłowy.
Spróbuj ponownie.


Jednak z tej strony mogę dodać post. Nawet jeżeli posiada polskie litery, ale dodając z polskimi znakami otrzymuję komunikat:


Could not insert new word matches

DEBUG MODE

INSERT INTO rivendell_search_wordmatch (post_id, word_id, title_match) SELECT 26086, word_id, 0 FROM rivendell_search_wordlist WHERE word_text IN ('ąłóę')

Line : 267
File : functions_search.php


Mimo to post się dodaje, ale wygląda tak: "??ó?"

[ Dodano: 14-11-2015, 14:40 ]
Po ciężkim przeszukiwaniu coś udało sięosiągnąć w kwestii kodowania.

Po pierwsze podążyłem za krokami z wpisu blogowego: https://www.8px.pl/konwer...-utf-8-w-mysql/

Jedyna różnica, że musiałem dodatkowo w pliku podmienić znaki zakodowane w latin1 na normalne polskie. Zrobiłem to w vim zgodnie z tabelą z tematu: http://przemo.org/phpBB2/...pic.php?t=57717

Pozostaje nadal problem sesji i błędu przy wysyłaniu wpisów z polskimi znakami. Ale to chyba osobne tematy powinienem założyć.

kooza - 14-11-2015, 15:22

Wykonaj zapytanie
Kod:
ALTER DATABASE `nazwa_bazy` default character set utf8 collate utf8_general_ci

ivel - 14-11-2015, 15:55

Dzięki za pomoc :)


Powered by phpBB modified by Przemo © 2003 phpBB Group