Problem z polskimi literami w linkach po zapisie strony

kumlab

Avatar: kumlab

2021-10-23 17:25

Witam,
Po którymś zapisie strony coś stało się ze skryptami/bazą. Jeśli tylko zapiszę stronę to wszystkie adresy zawierające polskie znaki przestają działać. Plik Links i links_ids z poprawnego:
a:457:{s:44:"akredytowane-laboratorium-wzorcujące-ap-162";a:2:{i:0;i:1;i:1;s:2:"pl";}s:22:"akredytacja-pca-ap-162";a:2:{i:0;i:10;i:1;s:2:"pl";}s:41:"wzorcowanie-płytek-wzorcowych-długości";a:2:{i:0;i:13;i:1;s:2:"pl";}s:54:"wzorcowanie-mikrometrów-zewnętrznych-i-wewnętrznych";a:2:{i:0;i:14;i:1;s:2:"pl";}s:58:"wzorcowanie-wałeczków-pomiarowych-do-gwintów-i-otworów";a:2:{i:0;i:15;i:1;s:2:"pl";}

zaczyna wyglądać tak:
a:457:{s:44:"akredytowane-laboratorium-wzorcujä…ce-ap-162";a:2:{i:0;i:1;i:1;s:2:"pl";}s:22:"akredytacja-pca-ap-162";a:2:{i:0;i:10;i:1;s:2:"pl";}s:41:"wzorcowanie-pĺ‚ytek-wzorcowych-dĺ‚ugoĺ›ci";a:2:{i:0;i:13;i:1;s:2:"pl";}s:54:"wzorcowanie-mikrometrăłw-zewnä™trznych-i-wewnä™trznych";a:2:{i:0;i:14;i:1;s:2:"pl";}s:58:"wzorcowanie-waĺ‚eczkăłw-pomiarowych-do-gwintăłw-i-otworăłw";a:2:{i:0;i:15;i:1;s:2:"pl";}?

Czy może ktoś ma pomysł co się mogło stać i jak to naprawić - niestety nie wchodzi w grę przywrócenie strony.

» Quick.Cms v6.x

kumlab

Avatar: kumlab

2021-10-23 21:29

Dodatkowo po sprawdzeniu okazało się że błędne pliki links i links_ids są w kodowaniu windows-1250 a prawidłowe w UTF-8. Tylko że są to pliki generowane przez skrypt z bazy danych - co mogło się stać że zmieniło się ich kodowanie? Jak można to naprawić?

kumlab

Avatar: kumlab

2021-10-24 13:06

Czy jest ktoś kto miał podobny problem i może pomóc?

openzibi

Avatar: openzibi

2021-10-24 13:38

Kilka pytań, które mogą pomóc w znalezieniu przyczyny
1. Jaki adres strony?
2. Jaka wersja php?
3. Jaki hosting?

Zbyszek - StudioStrona.pl

kumlab

Avatar: kumlab

2021-10-24 13:41

1. kumlab.eu
2. ustawiałem już 5.6, 7.0, 7.2, 7.4, 8.0 i nie ma różnicy
3. cyberfolks.pl

kumlab

Avatar: kumlab

2021-10-24 13:49

Aktualnie strona działa bo posiłkuję się plikami links i links_ids z backupu. Tak więc na stronie wszystko wygląda normalnie ale ja nic nie mogę zmodyfikować. Wykonanie zapisu jakiejkolwiek strony powoduje ponowne błędne wygenerowanie tych plików (nie w tej stronie kodowej) i wszystkie linki z polskimi znakami zamiast wyglądać tak:
https://kumlab.eu/sprzedaż-przyrządów-pomiarowych-ze-świadectwem-wzorcowania-pca
(po skopiowaniu tutaj: https://kumlab.eu/sprzeda%C5%BC-przyrz%C4%85d%C3%B3w-pomiarowych-ze-%C5%9Bwiadectwem-wzorcowania-pca)

wyglądają tak:
https://kumlab.eu/sprzeda%EF%BF%BD-przyrz%EF%BF%BDd%EF%BF%BDw-pomiarowych-ze-%EF%BF%BDwiadectwem-wzorcowania-pca

i nie działają.

Problemem raczej jest samo generowanie tech plików bo podejrzałem bazę w DB Browser i w niej wszystko wygląda normalnie i kodowanie jest UTF-8.

openzibi

Avatar: openzibi

2021-10-24 14:47

1. Zostań na php7.2 (nie php8) i wszelkie testy rób na tej wersji
2. Masz starą wersję systemy CMS czyli v6.1. Dodatkowo masz wersję bezpłatną czyli tak naprawdę testową.
3. Nie działa u Ciebie korekta polskich znaków w linkach a powinna działać. Chodzi o zamianę w linku np. kość na kosc. U Ciebie takie zmiany brak.
Przypuszczalnie robiłeś jakieś własne zmiany. Pliki php zapisuj jako UTF-8 (bez BOM). Polecam bezpłatny program Notepad++
4. Użyj czysty stary cms lub pobierz najnowszy cms v6.7 i przetestuj go pod jakimś adresem testowym np. kumlab.eu/test1/

Zbyszek - StudioStrona.pl

kumlab

Avatar: kumlab

2021-10-24 15:04

1. Ok tak zrobię
2. Tak wiem - tylko jak na razie wszystko działało a wywaliło się prawdopodobnie przy zwykłym zapisie
3. Korekta polskich znaków jest wyłączona i skrypt był modyfikowany kilka lat temu po to by w darmowej wersji mieć przyjazne linki i polskie znaki - wszystko od tamtego czasu działało i nie robiłem żadnych modyfikacji w kodzie - po prostu strona przy zapisie się wywaliła. Wszystkie pliki są UTF-8. Problemem jest to że nie wiem czemu pliki generowane przez skrypt strony - links i links_ids zamiast w UTF-8 nagle generują się w windows-1250 i to tutaj jest problem (te co mam z backupu wygenerowane były się w UTF-8).
4. Niestety nie mam dostępu do czystego starego 6.1 (nie ma go już na stronie) by sprawdzić czy to nowe PHP nie działa ze starym skryptem - czy to możliwe że jakieś nowe funkcje w php nie współpracują ze starym kodem? W międzyczasie cyberfolks miał migrację serwerów, ale nie mam pewności czy to z tego powodu się coś zmieniło - w tamtym czasie nic nie modyfikowałem na stronie. Także od dwóch lat nic w kodzie nie było zmieniane (tylko zwykłe dodawanie treści do strony) i nagle przestało działać. Dlatego napisałem na forum bo już nie mam pojęcia co mogło się stać.

openzibi

Avatar: openzibi

2021-10-24 15:21

Sprawdź najpierw swój serwer testując na nim cms w wersji v6.7

Zbyszek - StudioStrona.pl

kumlab

Avatar: kumlab

2021-10-24 19:33

Nowa wersja bez modyfikacji działa - tylko raczej chodzi mi o to co stało się nagle ze starą że bez zmian w kodzie przestała z dnia na dzień działać. Zależy mi na wykryciu błędu i naprawie w pierwszej kolejności.
Bo raczej jest to dziwne że tylko dodając treść do strony przy którymś zapisie strona przestaje działać. Widziałem też inny wpis w tej sprawie z zapytaniem, więc nie jest to odosobniony przypadek niestety. Czyli jednak coś w samym skrypcie w jakiś specyficznych warunkach powoduje ten błąd.

openzibi

Avatar: openzibi

2021-10-24 21:10

Napisałeś "co stało się nagle ze starą że bez zmian w kodzie przestała z dnia na dzień działać".
Tu nic nagle się nie dzieje :)

Załóżmy że wgrywałeś pliki w trybie binarnym.
Załóżmy że prawidłowo zapisywałeś pliki z własnymi modyfikacjami. (Nie windowsowy Notatnik ale np. Notepad++ z opcją zapisu " UTF8 bez BOM")
Krótko mówiąc załóżmy, że to nie Twoja wina :)

Wspomniałeś "W międzyczasie cyberfolks miał migrację serwerów"
Może wprowadzili w oprogramowaniu serwera jakieś odgórne narzucanie kodowania 1250? Zapytaj ich ale raczej bym pomyślał o wersji CMS v6.7 i to nie darmowa/testowa ale Quick.CMS.EXT+ v6.7

Na Twoim serwerze działa najnowsza wersja CMS v6.7 a stara v6.1 nie?
Na moich serwerach działają obie wersje ale to nie znaczy że cyberfolks ma błąd w oprogramowanie serwera.

Zawsze w takich sytuacjach zadaję moje 3 ulubione pytania. Bez żadnych złośliwości.
Co ile lat zmieniasz smartfona i dlaczego? Co 2-3 lata? Ile lat temu zmieniałeś oprogramowanie swojej strony?

P.S. Teraz Twoja strona działa.(wiem że bez możliwości kolejnych zmian). Pilnuj tej kopii jak ognia bo później może być problem z przywróceniem właściwego kodowania.

Zbyszek - StudioStrona.pl

kumlab

Avatar: kumlab

2021-10-25 04:50

No właśnie w tym problem że w pewnym sensie samo się zadziało. Tzn. przez pewien czas nie dorzucałem żadnej treści i nie modyfikowałem istniejącej, w pewnym momencie chciałem zmienić jakąś treść na stronie i po zmianie tej treści strona się wywaliła (czyli po zwykłej opcji zapisu). Pewnie masz rację z migracją strony do nowszej wersji - ale by mieć komfort takich działań potrzebuję jednak uruchomić starą wersję. Bo są zmiany cenowe w ofercie nie cierpiące zwłoki. Stąd moje pytania i próba zdiagnozowania problemu. Teraz zaczynam się zastanawiać czy funkcja serialize może w jakiś sposób źle generować te pliki lub jest niewspierana przez nowsze PHP? Bo tak na prawdę wszystko działa oprócz generowania tych plików.

openzibi

Avatar: openzibi

2021-10-25 11:05

Serializacja działa na wszystkich wersjach php od 4 do 8.
Powodem są raczej Twoje zmiany które wprowadziłeś lub nietypowa konfiguracja serwera.
Zapraszam do kontaktu lub na stronę https://opensolution.org/partnerzy-opensolution.html

Zbyszek - StudioStrona.pl

kumlab

Avatar: kumlab

2021-10-25 11:52

Ok - raczej obstawiałbym serwer (bo w zmiany w skrypcie były robione dobre 3 lata przed awarią) - chociaż z hostingiem też rozmawiałem i według nich wszystko jest dobrze :) Czy można liczyć z Pana strony na jakąś odpłatną pomoc?

openzibi

Avatar: openzibi

2021-10-25 12:00

Zapraszam. https://www.studiostrona.pl/
Może być bezpłatnie bo czasami takie rzeczy traktuję jako "poligon doświadczalny" lub drogo :)
Wszystko zależy od tego co tam zobaczę na serwerze.

Zbyszek - StudioStrona.pl

Do góry
o nas | kontakt