Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Nietypowy problem z kodowaniem


Rekomendowane odpowiedzi

Witam. Mam dość dziwny problem z kodowaniem i może ktoś z Was potrafi mi doradzić.

Kilka dni temu przeprowadziłem upgrade forum z wersji 2.3.6 do 3.0.2. Na starej wersji miałem ustawione kodowanie ISO-8859-2 i tabele w latin1. Akurat upgrade zbiegł się w czasie z przeniesieniem całej bazy na nowy serwer więc dokonałem konwersji kodowania na UTF-8. I teraz jest dziwna sytuacja... Tabele w bazie danych i wszystkie pola w tych tabelach mam jako utf8_general_ci. Wszystkie teksty w tabelach są w UTF-8. Czyli generalnie wszystko z kodowaniem jest ok. Ale... na forum nadal mam ustawione ISO-8859-2 i wtedy polskie znaki wyświetlają się dobrze. Gdy przestawię to na UTF-8 to pojawiają się krzaki :)

Ktoś rozumie czemu muszę na stronie wyświetlać ISO skoro w bazie danych mam prawidłowo ustawione UTF-8? Czyżby IPB gdzieś "w locie" dokonywało konwersji z UTF na ISO? Jak to zmienić?

Edytowane przez MariuszT
Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Witaj,

jeśli już to by konwertowało NA utf-8, a nie Z. No, ale tego nie robi.

Pytanie czy ten sposób u Ciebie nie działa: Ustawienie set_names dla forum.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Fakt, SET NAMES by pewnie rozwiązało problem bo domyślnie w konfiguracji mam latin2 dla połączeń z bazą danych. Niestety po wstawieniu odpowiedniej regułki do pliku konfiguracyjnego forum dostaję taki błąd:

Fatal error: Uncaught exception 'Exception' with message 'Could not initiate the registry, the settings cache is empty or missing' in /forum/admin/sources/base/ipsRegistry.php:1631 Stack trace: #0 /forum/admin/sources/base/ipsRegistry.php(498): ipsRegistry->setUpSettings() #1 /forum/admin/sources/base/ipsController.php(75): ipsRegistry::init() #2 /forum/admin/sources/base/ipsController.php(62): ipsController->init() #3 /forum/index.php(24): ipsController::run() #4 {main} thrown in /forum/admin/sources/base/ipsRegistry.php on line 1631

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Nie napisałeś tylko czy krzaki są w postach, czy tylko w spolszczeniu no i jakie są te krzaki ( screen ). Mówię o tym, gdyż kodowanie dla spolszczenia ustawia się w jego zarządzaniu: Wygląd -> Manage Languages. :)

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Ja nie mam żadnych krzaków, wszystko jest dobrze. Tylko problem w tym, że w bazie danych mam wszystko w UTF i tak też chciałbym to wyświetlać na stronie. Niestety serwer MySQL ma domyślnie ustawione SET NAMES latin2 i to najprawdopodobniej jest problemem. I właśnie przez to musiałem na forum ustawić kodowanie ISO. Ustawienie $INFO['sql_charset'] = 'utf8'; faktycznie powinno rozwiązać problem ale wyskakuje mi ten nieszczęsny błąd.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

A ustawienie ISO-8859-2 w General Configuration jaki błąd generuje? Tzn. nie błąd, a kodowanie? Wygląd krzaków. :)

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Ech, no nie czytasz tego co piszę :) Jeszcze raz:

kodowanie tabel i pól w bazie danych: UTF-8

kodowanie wszystkich tekstów zawartych w bazie danych: UTF-8

kodowanie ustawione w konfiguracji forum: ISO-8859-2

kodowanie tłumaczenia: ISO-8859-2

Wynik: brak krzaków, wszystko się dobrze wyświetla

Gdy próbuję zmienić kodowanie w konfiguracji forum na UTF-8 to wywalają się krzaki. Czemu? Pewnie przez to SET NAMES, domyślnie dla mojego serwera MySQL jest ustawione latin2 i z takiego połączenia korzysta forum, dlatego muszę wszystko wyświetlać w ISO a nie UTF. Chciałbym to zmienić ale po zmianach w pliku konfiguracyjnym forum wywala błąd, który przytoczyłem wyżej.

Czy wiesz co powoduje powyższy błąd i jak się go pozbyć? Bo tu leży problem, gdy pozbędę się błędu i ustawię inne SET NAMES niż jest teraz to powinno wszystko zadziałać prawidłowo.

Edytowane przez MariuszT
Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Za to Ty nie czytasz o co proszę - o POKAZANIE mi tych krzaków, ale nie nic, wiemy na czym stoimy już.

Na pewno dodanie tego do conf_global.php:

$INFO['sql_charset']                    =       'utf8';

Wywala taki błąd?

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.