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

Rekomendowane odpowiedzi

Opublikowano

Witajcie,

 

ogółem to ostatnio aktualizowałem forum z ipb 3.4 do najnowszej wersji, ogólnie w bazie formatowanie jest poprawne, polskie znaczki w nowych tematach się pojawiają ale wszystkie dotychczasowe zostały jako krzaczki.

Nie wiem jak najszybciej i najwygodniej się z tym uporać, pobrałem nawet te rozszerzenie LetterRepair no i biały ekran :v ale na szczęście to tylko 2zł w plecy.

Jest jakieś proste rozwiązanie na które nie wpadłem by wszystkie krzaczki odkrzaczyć? Bo ręcznie przepisywać mogę jedynie działy i ich opisy, a tematów jest multum i jeszcze więcej krzaczków które w nich występują.

Opublikowano (edytowane)

screen.png.7dd31fdbfcca40f609dfb7dfaf6ba0b9.png

 

Z screenem z SQL trza chwilę poczekać bo obecnie nie mam jak zrobić screena, nie wiem czy to coś da.

Po prostu wszystkie polskie znaki sprzed aktualizacji zamieniły się w coś takiego.

Jak ktoś napisze nowy temat bądź ręcznie edytuje dany tekst to będzie działać mu prawidłowo z polskimi znakami.

Natomiast tyle tego mam, że nie mam pomysłu jak to zrobić, a ręcznie to by zajęło wieki.

Baza danych jest w utf8_unicode_ci

 

//Edit dodam, że w bazie danych występuje dokładnie to samo co na forum. Wszystkie dotychczasowe polskie znaki są tymi samymi krzaczkami, a te napisane po aktualizacji forum działają poprawnie.

Edytowane przez Problemik
Opublikowano

Niedawno aktualizowałem witrynę z jeszcze starszej wersji niż Ty i miałem podobną potrzebę, czyli przywrócić w starszych danych polskie znaki.

Poprawianie przez ręczną edycję zawartości nie ma sensu.

Korektę u siebie zrobiłem poprzez phpMyAdmin wyszukując tabele i pola w tabelach gdzie "krzaki" występują.

Następnie dla takiej tabeli robiłem UPDATE wykonując zapytanie SQL.

Poniżej przykładowe zapytanie dla tabeli `forum_core_error_logs` i pola `log_error` 

UPDATE `forum_core_error_logs` SET 
`log_error` = REPLACE(`log_error` , '¦', 'Ś'),
`log_error` = REPLACE(`log_error` , '¼', 'ź'),
`log_error` = REPLACE(`log_error` , '±', 'ą'),
`log_error` = REPLACE(`log_error` , '¿', 'ż'),
`log_error` = REPLACE(`log_error` , '¶', 'ś'),
`log_error` = REPLACE(`log_error` , 'æ', 'ć'),
`log_error` = REPLACE(`log_error` , '³', 'ł'),
`log_error` = REPLACE(`log_error` , 'ê', 'ę'),
`log_error` = REPLACE(`log_error` , '¯', 'Ż'),
`log_error` = REPLACE(`log_error` , '¡', 'Ą'),
`log_error` = REPLACE(`log_error` , 'Ê', 'Ę'),
`log_error` = REPLACE(`log_error` , '£', 'Ł'),
`log_error` = REPLACE(`log_error` , 'ñ', 'ń');

Pozdrawiam,

julek

Wszystko jest możliwe :):):) ale na wszystko potrzebny jest czas ;););)

Opublikowano

Prawdopodobnie będę musiał to tak zrobić. Ewentualnie też mam jeden błąd z procesami w tle i nie wiem czy aby nie odczekać do ukończenia ich czy to nie pomoże jakoś.

Tutaj screeny załączę bo na logikę wydaje mi się, że to może mieć jakiś wspólny związek, bo normalnie wiem aby na nowy problem otworzyć nowy temat aczkolwiek nie wiem czy w tym przypadku jest to potrzebne.

 

image.thumb.png.3ccc8d2714efacbdff74dfbbb20b264e.png

image.thumb.png.220aa94bfbe9a5815b3cfe5be6b37745.png

 

  • Manager
Opublikowano
23 minuty temu, Problemik napisał:

Tutaj screeny załączę bo na logikę wydaje mi się, że to może mieć jakiś wspólny związek,

Nie ma.

 

Nie wykonałeś konwersji znaków podczas aktualizacji.

intermedia - profesjonalne rozwiązania Invision Power Board

---

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

Opublikowano

I jeśli skonwertowanie nie będzie możliwe, to czy te zapytanie do bazy będzie prawidłowe?

 

UPDATE`forums_posts` SET post = REPLACE(post,"A‚","ł");

 

Jeśli chodzi o MySQL jestem zielony i mam trochę z tym problem, połownicznie chyba coś zrobiłem bo ą i ę działa ale tylko tyle i wyłącznie w napisanych postach, naprawdę postaram się odwdzięczyć za pomoc

  • Manager
Opublikowano

Jakbyś miał kopię bazy sprzed aktualizacji to byś to mógł zrobić. Teraz to nie wiem. Odpal i sprawdź:

adresforum.pl/admin/convertutf8/

Ale zrób kopię przed. Rób zawsze przed jakąkolwiek operacją na bazie danych.

intermedia - profesjonalne rozwiązania Invision Power Board

---

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

Opublikowano

Próbowałem

Error: Declaration of IPSUtf8\Db::query($query) should be compatible with mysqli::query($query, $resultmode = NULL) File: /system/Db/Db.php Line: 1479

Opublikowano (edytowane)
3 godziny temu, Problemik napisał:

czy te zapytanie do bazy będzie prawidłowe?

 

UPDATE`forums_posts` SET post = REPLACE(post,"A‚","ł");

Nie będzie prawidłowe.

Powyżej w CODE wkleiłem przykładowe zapytanie, nie ma w nim znaków cudzysłowia. Poza tym trochę za dużo masz przecinków.

Zwróć uwagę na znaczki ` przy nazwach tabeli i kolumny, oraz znaki ' przy danych do zamiany.

Prawidłowo Twoje zapytanie powinno wyglądać (zakładając, że nazwa tabeli i kolumny jest prawidłowa)

UPDATE `forums_posts` SET `post` = REPLACE(`post` , 'znakDOzamianyKtoryTerazSieWyswietlaZamiastLY', 'ł');

edit: dla sprawdzenia i czy prawidłowo wybrałeś znaki do zamiany, nie powodując ewentualnych szkód w całej tabeli, możesz wykonać próbę na 1 konkretnym rekordzie dodając do zapytania warunek

UPDATE `forums_posts` 
SET `post` = REPLACE(`post` , 'znakDOzamianyKtoryTerazSieWyswietlaZamiastLY', 'ł')
WHERE `pid`='12345';

gdzie 12345 to id konkretnych danych z tabeli.

 

Pozdrawiam,

julek

Edytowane przez julekjulek
Uzupełnienie informacji

Wszystko jest możliwe :):):) ale na wszystko potrzebny jest czas ;););)

Opublikowano
52 minuty temu, DawPi napisał:

To nie pyknie tak. Masz tę kopię sprzed aktualizacji?

Mam, na nowo instalowałem ale nadal to samo, niby baza się konwertuje ale coś te znaczki nie chcą, a nie mamy czasu by na nowo się bawić przez święta i wyjazdy kilku osób które mają kilka zadań i muszą je dzisiaj ukończyć.

Muszę pokombinować póki co.

 

49 minut temu, julekjulek napisał:

Nie będzie prawidłowe.

Powyżej w CODE wkleiłem przykładowe zapytanie, nie ma w nim znaków cudzysłowia. Poza tym trochę za dużo masz przecinków.

Zwróć uwagę na znaczki ` przy nazwach tabeli i kolumny, oraz znaki ' przy danych do zamiany.

Prawidłowo Twoje zapytanie powinno wyglądać (zakładając, że nazwa tabeli i kolumny jest prawidłowa)


UPDATE `forums_posts` SET `post` = REPLACE(`post` , 'znakDOzamianyKtoryTerazSieWyswietlaZamiastLY', 'ł');

edit: dla sprawdzenia i czy prawidłowo wybrałeś znaki do zamiany, nie powodując ewentualnych szkód w całej tabeli, możesz wykonać próbę na 1 konkretnym rekordzie dodając do zapytania warunek


UPDATE `forums_posts` 
SET `post` = REPLACE(`post` , 'znakDOzamianyKtoryTerazSieWyswietlaZamiastLY', 'ł')
WHERE `pid`='12345';

gdzie 12345 to id konkretnych danych z tabeli.

 

Pozdrawiam,

julek

Zaraz sprawdzę

Opublikowano

Przy zapytaniu UPDATE `forums_posts` SET `post` = REPLACE(`post` , 'A3', 'ó');

wyskakuje błąd

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '
UPDATE `forums_posts` SET `post` = REPLACE(`post` , 'A3', 'ó')' at line 1 */

 

jak mówiłem, w mysql jestem zielony i nie za dużo wiem co i jak ale obstawiam, że sql tutaj jest problemem bo miesiąc temu aktualizowałem forum i nie miałem takich problemów

  • Manager
Opublikowano
Godzinę temu, Problemik napisał:

Mam, na nowo instalowałem ale nadal to samo, niby baza się konwertuje ale coś te znaczki nie chcą, a nie mamy czasu by na nowo się bawić przez święta i wyjazdy kilku osób które mają kilka zadań i muszą je dzisiaj ukończyć.

No dobra, to informuj jak idzie. :)

intermedia - profesjonalne rozwiązania Invision Power Board

---

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

Opublikowano (edytowane)
2 godziny temu, Problemik napisał:

You have an error in your SQL syntax; check the ...

Zapytania podawałem dla MySQL ale sądzę, że dla MariaDB powinny mieć prawidłową składnię.

Może w MariaDB przy UPDATE musi być warunek dodaj go

UPDATE `forums_posts` 
SET `post` = REPLACE(`post` , 'A3', 'ó')
WHERE `pid`='12345';

Zobacz czy zadziała, jeśli tak i chcesz zmienić w wszystkich rekordach, to zmień warunek na 

WHERE `pid` > 1;

 

Na pewno ó jest widziane na forum jako A3 ?

 

edit: czasami, jak kopiujesz polecenie np. z forum do phpMyAdmin to melduje błąd składni, a po ręcznym wpisaniu jest OK.

wpisz z klawiatury polecenie.

Edytowane przez julekjulek
Uzupełnienie informacji

Wszystko jest możliwe :):):) ale na wszystko potrzebny jest czas ;););)

Opublikowano (edytowane)

Na razie co do zapytania to jeszcze się wstrzymam bo odpaliłem po prostu drugą subdomenę do przetestowania to przy konwersji nie było błędu który chyba wystąpił wcześniej co mogło powodować wykrzaczenie się znaczków.

Natomiast teraz wyskoczyło

 

RENAME TABLE `core_members` TO `core_members_DROP`, `members` TO `core_members`

 

 i tu się znowu zaczynają schodzi bo forum to jakby automatycznie robi przez co mam w bazie już core_members i nie mam members

ehh te aktualizacje przeklęte

Edytowane przez Problemik

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ę.