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

ROZWIĄZANY: upgrade 2.3.3 na 3.1.4 - problem polskich znaków


Rekomendowane odpowiedzi

Opublikowano

Zrobiłem upgrade z 2.3.3 na 3.1.4

Wszystko przeszło bez większych problemów. Jednak polskie znaczki nie do końca się udały.....

Zauważyłem, że podczas upgrade zrobiła się na jakimś etapie konwersja bazy i zjadło polskie litery.

Przeglądając bazę w notepadzie przed migracją jest przykładowy tekst :

Jakiś czas temu obliczyłem

po migracji:

Jaki? czas temu obliczy?em reklamy i wysz?o

Może macie jakieś sugestie co z tym zrobić ? Póki co przywróciłem wszystko to pierwotnego stanu.

Z poniższego początku dumpa można wywnioskować ustawienie i kodowanie bazy

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `ibf_acp_help`
--

DROP TABLE IF EXISTS `ibf_acp_help`;
SET @saved_cs_client     = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `ibf_acp_help` (
 `id` int(10) NOT NULL auto_increment,
 `is_setting` tinyint(1) NOT NULL default '0',
 `page_key` varchar(255) default NULL,
 `help_title` varchar(255) default NULL,
 `help_body` text,
 `help_mouseover` varchar(255) default NULL,
 PRIMARY KEY  (`id`),
 KEY `page_key` (`page_key`)
) ENGINE=MyISAM AUTO_INCREMENT=168 DEFAULT CHARSET=latin2;
SET character_set_client = @saved_cs_client; 

Jedno forum na ipb o Spider-Manie

Drugie forum na VB Clubbers

Opublikowano (edytowane)

Zdaje się, że to forum co robię upgrade jest po niezłych przejściach...

Widzę, że w starych plikach wymuszone jest przy podłączaniu do bazy w class_db_mysqli_client.php :

mysqli_query($this->connection_id, 'SET character_set_connection=latin2');
   mysqli_query($this->connection_id, 'SET character_set_client=latin2');
   mysqli_query($this->connection_id, 'SET character_set_results=latin2');
   mysqli_query($this->connection_id, "set names latin2;");

Czy próbować to odkręcać, czy może w nowej wersji też wymusić na stałe takie ustawienie i po tym robić upgrade ?

Edytowane przez Clubbers

Jedno forum na ipb o Spider-Manie

Drugie forum na VB Clubbers

Opublikowano

Przyznam, że teraz nic nie rozumiem. Aktualnie forum na 2.3.3 pracuje poprawnie, w ustawieniach ma

mysqli_query($this->connection_id, 'SET character_set_connection=latin2');
   mysqli_query($this->connection_id, 'SET character_set_client=latin2');
   mysqli_query($this->connection_id, 'SET character_set_results=latin2');
   mysqli_query($this->connection_id, "set names latin2;");

W bazie natomiast polskie znaki są jak byk w UTF-8 , przykładowo ł w hexach jest C5 82

Jakim cudem teraz to pracuje poprawnie ? Baza w utf-8 , zawartość w utf-8 , podłączenie jako latin2 i polskie znaki wyświetlają się OK.

Jedno forum na ipb o Spider-Manie

Drugie forum na VB Clubbers

Opublikowano

Takim cudem, że nie warto o nim myśleć, jak działa i się nie przejmować.

No właśnie, nie przejmowałem się tym do czasu zrobienia upgrade - bo wtedy zniknęły mi znaczki.

Sądzisz, że przed upgradem wprowadzić tę poprawkę do nowych plików z wersji 3.1.4 i dopiero puścić procedurę ? Powinno być OK ?

Jedno forum na ipb o Spider-Manie

Drugie forum na VB Clubbers

Opublikowano

No tak, o tym też pisaliśmy. Powinno to pomóc.

No tak, po tym upgrade poszedł gładko z polskimi literami.

Jedna mała uwaga jaka mi się trafiła. To przy powrocie do backupu należy koniecznie skasować wszystkie tabele w bazie przed jej odtworzeniem z kopii. Nie wystarczy tylko samo odtworzenie, bo powstałe, nadmiarowe tabele podczas nieudanego upgradu będą zdrowo później sprawiać problemy.

A teraz do sedna, bo nie wiem, czy kiedykolwiek dojdę do końca...... Forum po upgradzie działa prawidłowo z polskimi literkami, ale...w spolszczeniu pobranym z : nie ma polskich znaków.... istna droga przez mękę. Może jakieś sugestie ?

Jedno forum na ipb o Spider-Manie

Drugie forum na VB Clubbers

Opublikowano

A jakie kodowanie masz w bazie danych?

Wiesz co - to normalnie jakaś zakrętka z tym kodowaniem - zerknij wyżej na

Forum po upgrade nie jest jeszcze upublicznione ale wszystkie polskie snaki są poprawnie - obrabiam je na innym serwerze - jak skończę przegram. Tylko z tym spolszczeniem jeszcze problem...

Jedno forum na ipb o Spider-Manie

Drugie forum na VB Clubbers

Opublikowano

No dobra, takich fikołków to jeszcze nigdy nie robiłem..

Spolszczenie wgrało się poprawnie, ale wtedy gdy na ten czas zdjąłem z classDbMysqliClient.php

     mysqli_query($this->connection_id, 'SET character_set_connection=latin2');
          mysqli_query($this->connection_id, 'SET character_set_client=latin2');
          mysqli_query($this->connection_id, 'SET character_set_results=latin2');
          mysqli_query($this->connection_id, "set names latin2;");

Po zaimportowaniu spolszczenia , przywróciłem te wpisy, ustawiłem lokalizacje spolszczenia na : pl_PL.latin2 i już wszystko popranie działa - wszędzie są polskie litery. Mam taką nadzieję, bo już ledwo widzę na oczy. Rano zrobię ostatnie testy i wgrywam forum do życia.

Jedno forum na ipb o Spider-Manie

Drugie forum na VB Clubbers

Opublikowano

Nie jestem zadowolony z efektów. Nie do końca wszystko pracuje poprawnie. Chciałbym wyprostować najważniejszą sprawę - kodowanie. Zanim upublicznię nową wersję musi mucha nie siadać.

Chciałbym zrobić jak książka pisze : UTF-8.

Obecnie w wersji 2.3.3 ustawiony jest w panelu charset na iso-8859-2. Polskie znaki pracują bezproblemowo dzięki wstawionym na stałe tym Latin2 w classDbMysqliClient.php . Jednocześnie sprawdziłem dane w bazie - posty są kodowane w UTF-8.

Co powinienem zrobić, żeby forum pracowało poprawnie z charsetem ustawionym na utf-8 ?

Jedno forum na ipb o Spider-Manie

Drugie forum na VB Clubbers

Opublikowano

Upgrade i konfiguracja tego co mam, to prawdziwy survival......

Czy istnieje gdzieś ustawianie kodowania cache, albo jakieś inne ustawienia cache ?

Problem :

Po pierwotnym upgrade skryptu z ustawieniami jak były, to znaczy te wymuszenie kodowania w classDbMysqliClient.php na latin polskie znaki są.

Wszystko fajnie, ale jak odświeżę kolejny raz jakiś wątek to polskich liter już tam nie ma.

Doszedłem do tego, że robię

1. Cache managment : remove all items

2. Pierwsze otworzenie jakiegoś wątku polskie znaki są

3. Drugie otworzenie tego samego i polskich znaków nie ma do czasu aż znowu wyczyszczę cache......

Naprawdę 'zabawą' z IPB nie pogardził by sam Bear Grylls

Jedno forum na ipb o Spider-Manie

Drugie forum na VB Clubbers

  • Manager
Opublikowano

Demonizujesz. Ja nigdy takich zabaw i atrakcji nie miałem. No może nie aż takie. Lepiej sprawdź kodowania tabel w bazie, czy są jednolite, bo pewnie nie - tabela z cache postów ma inne kodowanie niż tabela z postami. Więc to Twoja wina już przy aktualizacji (gdzie nowe tabele mają kodowanie bazy, a nie pierwotnych tabel), więc pretensje można mieć tylko do siebie.

intermedia - profesjonalne rozwiązania Invision Power Board

---

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

Opublikowano

więc pretensje można mieć tylko do siebie.

Wiesz co....forum nie było moje, zatem to nie moja wina, że tak wygląda w środku. Nie winię też osób, które to wcześniej prowadziły. To raczej winne jest IPB, które dojrzewając spowodowało jak widać tu na forum (ilość wątków w tym temacie) potężne ilości problemów z kodowaniem, konwersją itp.

Jedno forum na ipb o Spider-Manie

Drugie forum na VB Clubbers

  • Manager
Opublikowano

Może po prostu brak Ci wiedzy, by to wykonać? No i zamiast polemizować zajmijmy się problemem. To nie forum psychologiczne, a support, więc..

Co z tym kodowaniem?

P.s. ilość postów w temacie o niczym nie świadczy.

intermedia - profesjonalne rozwiązania Invision Power Board

---

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

Opublikowano

Może po prostu brak Ci wiedzy, by to wykonać?

Nie jest tak źle. To skrypty upgrade tworzyły nowe tabele w bazie (m.in do cache) i tworzyły ze złym kodowaniem. Zmieniłem i wygląda na to, że wszystko pracuje poprawnie. Niebawem wrzucam dla userów i mam nadzieję, że nie będzie problematycznych reklamacji.

Jedno forum na ipb o Spider-Manie

Drugie forum na VB Clubbers

Opublikowano

OK, forum na swoim miejscu. Mam nadzieję, że nie ma w nim już wielkich problemów.

aaaaa gdzie wyłączyć 'wyśrodkowanie' postów ? Aktualnie jak widać przykładowo tu : http://www.spider-man.pl/forum/topic/1931-problemy-z-forum/ wszystko jest wyśrodkowane - wolałbym, żeby nowa linia zaczynała się od lewej.

Sądzę, że można ten wątek zamknąć - problem rozwiązany.

Jedno forum na ipb o Spider-Manie

Drugie forum na VB Clubbers

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • 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ę.